<SEC-DOCUMENT>0001140361-24-036240.txt : 20240807
<SEC-HEADER>0001140361-24-036240.hdr.sgml : 20240807
<ACCEPTANCE-DATETIME>20240807171545
ACCESSION NUMBER:		0001140361-24-036240
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		49
CONFORMED PERIOD OF REPORT:	20240630
FILED AS OF DATE:		20240807
DATE AS OF CHANGE:		20240807

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			TANDY LEATHER FACTORY INC
		CENTRAL INDEX KEY:			0000909724
		STANDARD INDUSTRIAL CLASSIFICATION:	LEATHER & LEATHER PRODUCTS [3100]
		ORGANIZATION NAME:           	04 Manufacturing
		IRS NUMBER:				752543540
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-12368
		FILM NUMBER:		241185005

	BUSINESS ADDRESS:	
		STREET 1:		1900 SE LOOP 820
		CITY:			FT WORTH
		STATE:			TX
		ZIP:			76140
		BUSINESS PHONE:		8178723200

	MAIL ADDRESS:	
		STREET 1:		1900 SE LOOP 820
		CITY:			FT WORTH
		STATE:			TX
		ZIP:			76140

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	LEATHER FACTORY INC
		DATE OF NAME CHANGE:	19930723
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>ef20030083_10q.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:srt="http://fasb.org/srt/2024" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:currency="http://xbrl.sec.gov/currency/2024" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:naics="http://xbrl.sec.gov/naics/2024" xmlns:sic="http://xbrl.sec.gov/sic/2024" xmlns:stpr="http://xbrl.sec.gov/stpr/2024" xmlns:exch="http://xbrl.sec.gov/exch/2024" xmlns:cef="http://xbrl.sec.gov/cef/2024" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:tlfa="http://tandyleather.com/20240630" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <!-- Licensed to: Broadridge Financial Solutions Inc.
         Document created using Broadridge PROfile 24.6.2.5244
         Copyright 1995 - 2024 Broadridge -->
    <meta http-equiv="Content-Type" content="text/html"/>
</head>

<body style="background-color: #ffffff; color: #000000;">
<div id="DSPFiXBRLHidden" style="display: none;"><ix:header><ix:hidden><ix:nonNumeric name="dei:AmendmentFlag" id="Fact_a5c1d7d57cbb425e8eb0b898ec3e25bc" contextRef="c20240101to20240630" format="ixt:fixed-false">false</ix:nonNumeric><ix:nonNumeric name="dei:CurrentFiscalYearEndDate" id="Fact_2ad50359601a46a0b35cbd1a4476f82c" contextRef="c20240101to20240630" format="ixt:date-month-day">12-31</ix:nonNumeric><ix:nonNumeric name="dei:DocumentFiscalYearFocus" id="Fact_74b9266fcf7243f19152832dcd913971" contextRef="c20240101to20240630">2024</ix:nonNumeric><ix:nonNumeric name="dei:DocumentFiscalPeriodFocus" id="Fact_d033022c7e724749a010556f23c53f6c" contextRef="c20240101to20240630">Q2</ix:nonNumeric><ix:nonNumeric name="dei:EntityCentralIndexKey" id="Fact_12eb56aa7125425dbad85ca8e6c865ee" contextRef="c20240101to20240630">0000909724</ix:nonNumeric><ix:nonFraction name="us-gaap:NumberOfOperatingSegments" id="Fact_4c711008a60048a693c2d64053cf65a7" contextRef="c20240101to20240630" unitRef="U005" decimals="INF">1</ix:nonFraction><ix:nonFraction name="us-gaap:NumberOfReportableSegments" id="Fact_2c2df6efbbb741fc9d75157cfbeaec0b" contextRef="c20240101to20240630" unitRef="U005" decimals="INF">1</ix:nonFraction><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_f6f6e0f9d99e4a14a6efa773cccc6372" contextRef="c20240630_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember_RangeAxis_MinimumMember">P3Y</ix:nonNumeric><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_4b51686560af46539f10d61548e34c47" contextRef="c20240630_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember_RangeAxis_MinimumMember">P7Y</ix:nonNumeric><ix:nonNumeric name="dei:SecurityExchangeName" id="Fact_8d5677946dd14b1dbd72bffe8fb1efe3" contextRef="c20240101to20240630">NASDAQ</ix:nonNumeric><ix:nonFraction name="us-gaap:CommitmentsAndContingencies" id="Fact_34a595a0c62f48acb4e6be9a8ed0ae1c" contextRef="c20240630" unitRef="U002" xsi:nil="true"/><ix:nonFraction name="us-gaap:CommitmentsAndContingencies" id="Fact_e0651627809640b292897958433181f4" contextRef="c20231231" unitRef="U002" xsi:nil="true"/></ix:hidden><ix:references><link:schemaRef xlink:href="tlfa-20240630.xsd" xlink:type="simple"/></ix:references><ix:resources><xbrli:context id="c20240101to20240630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240807"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-08-07</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230401to20230630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240401to20240630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230401to20230630_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240401to20240630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230401to20230630_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240401to20240630_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240401to20240630_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240401to20240630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230401to20230630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230401to20230630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230401to20230630_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240401to20240630_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240630_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230331_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230630_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230331_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230331_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240331_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230630_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240331_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240331_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230630_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240630_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240630_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240630_StatementGeographicalAxis_CA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240630_StatementGeographicalAxis_ES"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240630_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccountsPayableAndAccruedLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240630_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccountsPayableAndAccruedLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccountsPayableAndAccruedLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240401to20240630_StatementGeographicalAxis_CA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230401to20230630_StatementGeographicalAxis_OtherCountriesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tlfa:OtherCountriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230401to20230630_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230630_StatementGeographicalAxis_OtherCountriesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tlfa:OtherCountriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240630_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240401to20240630_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240630_StatementGeographicalAxis_OtherCountriesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tlfa:OtherCountriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230630_StatementGeographicalAxis_CA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240630_StatementGeographicalAxis_CA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240401to20240630_StatementGeographicalAxis_OtherCountriesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tlfa:OtherCountriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230630_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230401to20230630_StatementGeographicalAxis_CA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240401to20240630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_RangeAxis_MaximumMember_StatementGeographicalAxis_AllOtherCountriesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tlfa:AllOtherCountriesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230401to20230630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_RangeAxis_MaximumMember_StatementGeographicalAxis_AllOtherCountriesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tlfa:AllOtherCountriesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_RangeAxis_MaximumMember_StatementGeographicalAxis_AllOtherCountriesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tlfa:AllOtherCountriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_RangeAxis_MaximumMember_StatementGeographicalAxis_AllOtherCountriesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tlfa:AllOtherCountriesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240630_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember_RangeAxis_MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240630_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240630_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember_RangeAxis_MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240630_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240630_PropertyPlantAndEquipmentByTypeAxis_VehiclesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240630_PropertyPlantAndEquipmentByTypeAxis_BuildingAndBuildingImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240630_FiniteLivedIntangibleAssetsByMajorClassAxis_IntellectualPropertyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:IntellectualPropertyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230630_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240630_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240630_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230103_LineOfCreditFacilityAxis_JPMorganChaseBankNAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">tlfa:JPMorganChaseBankNAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240630_LineOfCreditFacilityAxis_JPMorganChaseBankNAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">tlfa:JPMorganChaseBankNAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20220101to20220630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndThirteenRestrictedStockPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20130131_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndThirteenRestrictedStockPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2013-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230430_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_NonEmployeeDirectorMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">tlfa:NonEmployeeDirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240630_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_RangeAxis_MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230601to20230630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_NonEmployeeDirectorMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">tlfa:NonEmployeeDirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20231001to20231031_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240601to20240630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-06-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240301to20240331_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-03-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:RestrictedStockAndRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240630_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:RestrictedStockAndRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240630_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:RestrictedStockAndRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240630_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:PerformanceBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230401to20230630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240401to20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230630_AwardTypeAxis_RestrictedStockUnitsRSUMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240630_AwardTypeAxis_RestrictedStockUnitsRSUMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240401to20240630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240401to20240630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230401to20230630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230401to20230630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20220808_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000909724</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-08-08</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="U001"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="U002"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="U003"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:unit id="U004"><xbrli:measure>tlfa:Store</xbrli:measure></xbrli:unit><xbrli:unit id="U005"><xbrli:measure>tlfa:Segment</xbrli:measure></xbrli:unit><xbrli:unit id="U006"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="U007"><xbrli:measure>tlfa:Discount</xbrli:measure></xbrli:unit></ix:resources></ix:header></div>
<div style="line-height: initial;">
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000;">
  <hr style="border: none; border-bottom: 1px solid black; border-top: 4px solid black; height: 10px; color: #ffffff; background-color: #ffffff; text-align: center; margin-left: auto; margin-right: auto;"/>
  <div>
    <div style="text-align: center; font-size: 14pt; font-weight: bold; font-family: 'Times New Roman';">UNITED STATES<br/>
    </div>

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

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

    <div style="text-align: center; font-size: 18pt; font-weight: bold; font-family: 'Times New Roman';">Form <ix:nonNumeric name="dei:DocumentType" id="Fact_6bc8d1d88f9d4ad291a2d93b945e8a04" contextRef="c20240101to20240630">10-Q</ix:nonNumeric></div>

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

    <div style="font-family: 'Times New Roman'; font-size: 10pt;">(Mark One)</div>

    <div style="font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonNumeric name="dei:DocumentQuarterlyReport" id="Fact_1f05e00be1cc4359b0bb517c59dc2361" contextRef="c20240101to20240630" format="ixt-sec:boolballotbox">&#9746;</ix:nonNumeric> QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE
      SECURITIES EXCHANGE ACT OF 1934</div>

    <div style="font-family: 'Times New Roman'; font-size: 10pt;">For the quarterly period ended <ix:nonNumeric name="dei:DocumentPeriodEndDate" id="Fact_da20207f205343d4872aa035b0939359" contextRef="c20240101to20240630" format="ixt:date-monthname-day-year-en">June 30, 2024</ix:nonNumeric></div>

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

    <div style="font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonNumeric name="dei:DocumentTransitionReport" id="Fact_8fb3ec6206fe4c738f56ffca6aa6b8bf" contextRef="c20240101to20240630" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric> TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE
      SECURITIES EXCHANGE ACT OF 1934</div>

    <div style="font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">For the transition period from __________ to ______________</div>

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

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">Commission File Number <ix:nonNumeric name="dei:EntityFileNumber" id="Fact_d50af2a173ac479ba8a404687c93fd72" contextRef="c20240101to20240630">1-12368</ix:nonNumeric></div>

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


  <tr>

    <td style="width: 100%; vertical-align: top;">
            <div style="text-align: center;"><img width="300" height="58" src="image00001.jpg" alt="graphic"/></div>
          </td>

  </tr>


</table>
    <div style="text-align: center; font-size: 24pt; font-weight: bold; font-family: 'Times New Roman';"><span style="text-decoration: underline;"><span style="font-size: 14pt;"><ix:nonNumeric name="dei:EntityRegistrantName" id="Fact_fee2f731effe4264b7efcac3d5f20fed" contextRef="c20240101to20240630">TANDY LEATHER FACTORY, INC</ix:nonNumeric></span>.</span></div>

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

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

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


  <tr>

    <td style="width: 49%; vertical-align: top;">
            <div style="text-align: center; font-weight: bold;"><span style="text-decoration: underline;"><ix:nonNumeric name="dei:EntityIncorporationStateCountryCode" id="Fact_ed1ce4f675114746ba2e102e4081b69f" contextRef="c20240101to20240630" format="ixt-sec:stateprovnameen">Delaware</ix:nonNumeric><br/>
              </span></div>
          </td>

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

    <td style="width: 49%; vertical-align: top;">
            <div style="text-align: center; font-weight: bold;"><span style="text-decoration: underline;"><ix:nonNumeric name="dei:EntityTaxIdentificationNumber" id="Fact_5a7f0988c49f4b2faafc4b39aa75fa27" contextRef="c20240101to20240630">75-2543540</ix:nonNumeric><br/>
              </span></div>
          </td>

  </tr>

  <tr>

    <td style="width: 49%; vertical-align: top;">
            <div style="text-align: center;">(State or other jurisdiction of incorporation or organization)</div>
          </td>

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

    <td style="width: 49%; vertical-align: top;">
            <div style="text-align: center;">(I.R.S. Employer Identification No.)</div>
          </td>

  </tr>


</table>
    <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
    </div>

    <div style="text-align: center; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"><span style="text-decoration: underline;"><ix:nonNumeric name="dei:EntityAddressAddressLine1" id="Fact_b359cbff66ce46ed88c8b0e7078c7545" contextRef="c20240101to20240630">1900 Southeast Loop 820</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressCityOrTown" id="Fact_a2df616486534fc5b472c9fbb4f2ac7f" contextRef="c20240101to20240630">Fort Worth</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressStateOrProvince" id="Fact_e141d97b9fd0449eac7d54e6781c1c16" contextRef="c20240101to20240630" format="ixt-sec:stateprovnameen">Texas</ix:nonNumeric>&#160; <ix:nonNumeric name="dei:EntityAddressPostalZipCode" id="Fact_899a2dea4ed84c3f9ecd762866bec385" contextRef="c20240101to20240630">76140</ix:nonNumeric></span></div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">(Address of principal executive offices) (Zip code)</div>

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

    <div style="text-align: center; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"><span style="text-decoration: underline;">(<ix:nonNumeric name="dei:CityAreaCode" id="Fact_549df5a0b6c741f38e5c37a2936744d6" contextRef="c20240101to20240630">817</ix:nonNumeric>) <ix:nonNumeric name="dei:LocalPhoneNumber" id="Fact_38acc00125d64ed685e73ff581b889e5" contextRef="c20240101to20240630">872-3200</ix:nonNumeric></span></div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">(Registrant&#8217;s telephone number, including area code)</div>

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

    <div style="text-align: center;">
      <hr style="background-color: #000000; border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; margin: 0px auto; height: 2px; width: 50%; color: #000000; margin-left: auto; margin-right: auto;"/></div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">(Former name, former address and former fiscal year, if changed since last report)</div>

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

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


  <tr>

    <td style="width: 33%; vertical-align: top;">
            <div style="text-align: center;"><span style="text-decoration: underline;">Title of each class</span></div>
          </td>

    <td style="width: 33%; vertical-align: top;">
            <div style="text-align: center;"><span style="text-decoration: underline;">Trading Symbol</span></div>
          </td>

    <td style="width: 33%; vertical-align: top;">
            <div style="text-align: center;"><span style="text-decoration: underline;">Name of each exchange on which registered</span></div>
          </td>

  </tr>

  <tr>

    <td style="width: 33%; vertical-align: top;">
            <div style="text-align: center;"><ix:nonNumeric name="dei:Security12bTitle" id="Fact_f6a90e49d1ca475eab2beb24ad663c28" contextRef="c20240101to20240630">Common Stock, par value $0.0024</ix:nonNumeric><br/>
            </div>
          </td>

    <td style="width: 33%; vertical-align: top;">
            <div style="text-align: center;"><ix:nonNumeric name="dei:TradingSymbol" id="Fact_4ef7fe560f304157a36b34792e25f7cc" contextRef="c20240101to20240630">TLF</ix:nonNumeric><br/>
            </div>
          </td>

    <td style="width: 33%; vertical-align: top;">
            <div style="text-align: center;"><span style="-sec-ix-hidden:Fact_8d5677946dd14b1dbd72bffe8fb1efe3">The Nasdaq Capital Market</span><br/>
            </div>
          </td>

  </tr>


</table>
    <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
    </div>

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

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

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

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

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging
      growth company.&#160; See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company,&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act.</div>

    <div style="font-family: 'Times New Roman'; font-size: 10pt;">&#160;</div>

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


  <tr>

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

    <td style="width: 34.68%; vertical-align: top;">
              <div style="text-align: justify;">Large accelerated filer &#9744;</div>
            </td>

    <td style="width: 52%; vertical-align: top;">
              <div style="text-align: justify;"><ix:nonNumeric name="dei:EntityFilerCategory" id="Fact_a6c39124a9944daea4c2b68c8b07816e" contextRef="c20240101to20240630" format="ixt-sec:entityfilercategoryen">Non-accelerated filer</ix:nonNumeric> &#9746;</div>
            </td>

  </tr>

  <tr>

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

    <td style="width: 34.68%; vertical-align: top;">
              <div style="text-align: justify;">Accelerated filer &#9744;</div>
            </td>

    <td style="width: 52%; vertical-align: top;">
              <div style="text-align: justify;">Smaller reporting company <ix:nonNumeric name="dei:EntitySmallBusiness" id="Fact_c83ac92d4cec4867881d3657a6fdaab2" contextRef="c20240101to20240630" format="ixt-sec:boolballotbox">&#9746;</ix:nonNumeric></div>
            </td>

  </tr>

  <tr>

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

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

    <td style="width: 52%; vertical-align: top;">
              <div style="text-align: justify;">Emerging growth company <ix:nonNumeric name="dei:EntityEmergingGrowthCompany" id="Fact_406ad1d5c23c49729bab7eb3c1508071" contextRef="c20240101to20240630" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></div>
            </td>

  </tr>


</table>
    </div>

    <div><br/></div>

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

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

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

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

    <div style="font-family: 'Times New Roman'; font-size: 10pt;">As of August 7, 2024, the registrant had <ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" id="Fact_1742aaea241f48b2b1bf68309b168f4e" contextRef="c20240807" unitRef="U001" decimals="INF" scale="0" format="ixt:num-dot-decimal">8,422,546</ix:nonFraction> shares of Common Stock, par
      value $0.0024 per share, outstanding.</div>

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

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

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

    </div>

    <!--PROfilePageNumberReset%LCR%2%%%--> </div>

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

    <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: bold; letter-spacing: normal; text-align: center; 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; font-size: 10pt;">TANDY LEATHER FACTORY, INC.</div>

    <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; text-align: center; 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; font-size: 10pt;"><br/>
    </div>

    <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: bold; letter-spacing: normal; text-align: center; 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; font-size: 10pt;">FORM 10-Q</div>

    <div>
      <div style="font-family: 'Times New Roman'; font-size: 10pt;">
        <div style="text-align: center; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">
          <div>
            <div style="font-size: 10pt;"><br/>
            </div>

            <div style="font-size: 10pt;">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">FOR THE QUARTERLY PERIOD ENDED June 30, 2024</div>

              <div><br/>
              </div>

            </div>

          </div>

        </div>

      </div>

    </div>

    <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">
      <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 13.3333px; 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; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">
        <div>
          <div style="font-family: 'Times New Roman'; font-size: 10pt;">
            <div style="text-align: center; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><a id="TABLEOFCONTENTS"><!--Anchor--></a><!--Anchor-->TABLE OF CONTENTS</div>

          </div>

        </div>

        <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">
          <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 13.3333px; 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; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><br/>
          </div>

          <table cellspacing="0" cellpadding="0" border="0" style="background-color: rgb(255, 255, 255); border-collapse: collapse; letter-spacing: normal; white-space: normal; width: 100%; word-spacing: 0px; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-weight: 400; text-align: left; text-transform: none;">


  <tr>

    <td style="width: 95%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><a href="#FINANCIALINFORMATION">PART I.&#160; FINANCIAL INFORMATION</a></div>
                </td>

    <td style="width: 5%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: right; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2</div>
                </td>

  </tr>

  <tr>

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

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

  </tr>

  <tr>

    <td style="width: 95%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; margin-left: 9pt;"><a href="#CondensedConsolidatedFina">Item 1.&#160;&#160; Condensed Consolidated Financial Statements (Unaudited).</a></div>
                </td>

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

  </tr>

  <tr>

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

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

  </tr>

  <tr>

    <td style="width: 95%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; margin-left: 18pt;">
                    <div><a href="#NOTESTOCONDENSED">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED).</a></div>
                  </div>
                </td>

    <td style="width: 5%; vertical-align: top; background-color: rgb(204, 238, 255); text-align: right;">6<br/>
                </td>

  </tr>

  <tr>

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

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

  </tr>

  <tr>

    <td style="width: 95%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; margin-left: 9pt;">
                    <div><a href="#ManagementsDiscussionandA">Item 2.&#160; Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations.</a></div>
                  </div>
                </td>

    <td style="width: 5%; vertical-align: top; background-color: rgb(204, 238, 255); text-align: right;">16</td>

  </tr>

  <tr>

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

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

  </tr>

  <tr>

    <td style="width: 95%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; margin-left: 9pt;">
                    <div><a href="#ControlsandProcedures.">Item 4.&#160; Controls and Procedures.</a></div>
                  </div>
                </td>

    <td style="width: 5%; vertical-align: top; background-color: rgb(204, 238, 255); text-align: right; font-weight: normal;">24</td>

  </tr>

  <tr>

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

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

  </tr>

  <tr>

    <td style="width: 95%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><a href="#PARTII.OTHERINFORMATION">PART II.&#160; OTHER INFORMATION</a></div>
                </td>

    <td style="width: 5%; vertical-align: top; background-color: rgb(204, 238, 255); font-weight: bold; text-align: right;">25</td>

  </tr>

  <tr>

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

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

  </tr>

  <tr>

    <td style="width: 95%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; margin-left: 9pt;">
                    <div><a href="#LegalProceedings.">Item 1.&#160; Legal Proceedings.</a></div>
                  </div>
                </td>

    <td style="width: 5%; vertical-align: top; background-color: rgb(204, 238, 255); text-align: right;">25</td>

  </tr>

  <tr>

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

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

  </tr>

  <tr>

    <td style="width: 95%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; margin-left: 9pt;">
                    <div><a href="#RiskFactors.">Item 1A.&#160; Risk Factors.</a></div>
                  </div>
                </td>

    <td style="width: 5%; vertical-align: top; background-color: rgb(204, 238, 255); text-align: right;">25</td>

  </tr>

  <tr>

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

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

  </tr>

  <tr>

    <td style="width: 95%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; margin-left: 9pt;">
                    <div><a href="#UnregisteredSalesofEquity">Item 2.&#160; Unregistered Sales of Equity Securities and Use of Proceeds.</a></div>
                  </div>
                </td>

    <td style="width: 5%; vertical-align: top; background-color: rgb(204, 238, 255); text-align: right;">25</td>

  </tr>

  <tr>

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

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

  </tr>

  <tr>

    <td style="width: 95%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; margin-left: 9pt;">
                    <div><a href="#Exhibits.">Item 6.&#160; Exhibits.</a></div>
                  </div>
                </td>

    <td style="width: 5%; vertical-align: top; background-color: rgb(204, 238, 255); text-align: right;">26</td>

  </tr>

  <tr>

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

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

  </tr>

  <tr>

    <td style="width: 95%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; margin-left: 18pt;"><a href="#SIGNATURES">SIGNATURES</a></div>
                </td>

    <td style="width: 5%; vertical-align: top; background-color: rgb(204, 238, 255); text-align: right;">28</td>

  </tr>


</table>
          <div style="font-weight: normal; font-size: 8pt; font-family: 'Times New Roman'; font-style: italic;"><br/>
          </div>

        </div>

      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman'; font-size: 8pt; color: #000000; font-weight: normal; font-style: normal;">ii</span></div>

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

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
          </div>

        </div>

      </div>

      <!--PROfilePageNumberReset%Num%1%%%-->
<div>Cautionary Statement Regarding Forward-Looking Statements and Information
      </div>
<div>
        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>

        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-weight: normal;">The following discussion, as well as other portions of this Form 10-Q, contains forward-looking statements that reflect our
          plans, estimates and beliefs.&#160; Any such forward-looking statements (including, but not limited to, statements to the effect that Tandy Leather Factory, Inc. (&#8220;TLF&#8221;) or its management &#8220;anticipates,&#8221; &#8220;plans,&#8221; &#8220;estimates,&#8221; &#8220;expects,&#8221; &#8220;believes,&#8221;
          &#8220;intends,&#8221; and other similar expressions) that are not statements of historical fact should be considered forward-looking statements and should be read in conjunction with our Condensed Consolidated Financial Statements and related notes
          contained elsewhere in this report.&#160; These forward-looking statements are made based upon management&#8217;s current plans, expectations, estimates, assumptions and beliefs concerning future events impacting us and should be read carefully because they
          involve risks and uncertainties.&#160; We assume no obligation to update or otherwise revise these forward-looking statements, except as required by law.&#160; Specific examples of forward-looking statements include, but are not limited to, statements
          regarding our forecasts of financial performance, share repurchases, store openings or store closings, capital expenditures and working capital requirements.&#160; Our actual results could materially differ from those discussed in such forward-looking
          statements.&#160; Factors that could cause or contribute to such differences include, but are not limited to, those discussed below and particularly in &#8220;Item 1A. Risk Factors&#8221; and &#8220;Item 7. Management&#8217;s Discussion and Analysis of Financial Condition
          and Results of Operations&#8221; of our Annual Report on Form 10-K for the fiscal year ended December 31, 2023.&#160; Unless the context otherwise indicates, references in this Form&#160;10-Q to &#8220;TLF,&#8221; &#8220;we,&#8221; &#8220;our,&#8221; &#8220;us,&#8221; &#8220;the Company,&#8221; &#8220;Tandy,&#8221; or &#8220;Tandy
          Leather&#8221; mean Tandy Leather Factory, Inc., together with its subsidiaries.</div>

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

        <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
          <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">1</span></div>

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

          <div style="width: 100%;" class="BRPFPageHeader">
            <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
            </div>

          </div>

        </div>

        <!--PROfilePageNumberReset%Num%2%%%--> </div>

    </div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000;">
  <div>
    <!--Anchor-->
    <div style="font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"><!--Anchor--><!--Anchor--><!--Anchor--><!--Anchor--><!--Anchor-->PART I.<!--Anchor-->&#160;
      <!--Anchor--><!--Anchor-->FINANCIAL INFORMATION<a id="FINANCIALINFORMATION"><!--Anchor--></a><!--Anchor--></div>

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


  <tr>

    <td style="width: 35pt; vertical-align: top;"><!--Anchor--><span style="font-weight: bold;"><!--Anchor--><!--Anchor-->Item 1.<!--Anchor--></span></td>

    <td style="vertical-align: top;">
            <!--Anchor-->
            <div style="font-weight: bold;"><!--Anchor--><!--Anchor--><!--Anchor--><!--Anchor-->Condensed Consolidated Financial Statements.</div>
          </td>

  </tr>


</table>
    <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
    </div>

    <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Tandy Leather Factory, Inc.</div>

    <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">
      <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold;">Condensed Consolidated Balance Sheets<br/>
      </div>

    </div>

    <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">(amounts in thousands, except share data and per share data)</div>

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

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


  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; text-align: center; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="vertical-align: bottom; font-weight: bold; text-align: center; white-space: nowrap;">June 30,</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: center; font-weight: bold; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="vertical-align: bottom; text-align: center; font-weight: bold; white-space: nowrap;"> December 31,</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">
              <div style="text-align: center;"><span style="font-weight: bold;"> 2024</span></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="text-align: center;"><span style="font-weight: bold;">2023 </span></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; text-align: center; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="vertical-align: bottom; font-weight: bold; text-align: center; white-space: nowrap;"> (Unaudited)</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
            <div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;">ASSETS</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">CURRENT ASSETS:</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Cash and cash equivalents</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" id="Fact_f62070ca53104d4ba151c630e4e4a1e9" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">11,531</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" id="Fact_acd4eb7224d943e981813fec3b10eb8a" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">12,159</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-indent: -9pt; margin-left: 9pt;"><span style="color: rgb(0, 0, 0);">Accounts receivable-trade, net of allowance for credit losses of </span>$<span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" id="Fact_46d596c2d45c4fefa92b51156eb74549" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" id="Fact_293bf35261534227b66591d272267701" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">31</ix:nonFraction></ix:nonFraction></span><span style="color: rgb(0, 0, 0);"> at <span style="text-indent: 0pt;">June 30</span>, <span style="text-indent: 0pt;">2024</span> and December 31, <span style="text-indent: 0pt;">2023</span>.</span></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" id="Fact_b43d23186a354ef087c9ca3f0714944f" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">394</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" id="Fact_f6edb4e0e0b749f68305f01636331399" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">264</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Inventory</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_082e0eee2b8a4713a7c6283f78807a0c" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">37,191</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_04cf1b1bb642476d9415c65d064283d1" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">37,993</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Income tax receivable</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncomeTaxesReceivable" id="Fact_9569c2a285484bf5a1e8671ca34e2169" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">682</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncomeTaxesReceivable" id="Fact_26db74e67738448993d3afee0b1d2d09" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">248</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Prepaid expenses</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PrepaidExpenseCurrent" id="Fact_41b6488a3a3a44a88ad21a52af44d03f" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">910</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PrepaidExpenseCurrent" id="Fact_7ab4bb06c3b8482e84d348cd41978ad3" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">475</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Other current assets</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" id="Fact_72f4735c8452450588a5082fc9155886" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">84</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" id="Fact_3dbac0e053c54355b179d600e1c205ca" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">113</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Total current assets</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AssetsCurrent" id="Fact_995f57d29ee64d2db251b190ed0f3ec3" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">50,792</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AssetsCurrent" id="Fact_b5b9f863a39241b5afc9a427225f9788" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">51,252</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

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

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Property and equipment, at cost</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_1729587441e2462495c0439e1e1c882b" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">30,069</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_7acd6689df674f3dbab31f92f3a08df8" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">28,678</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Less accumulated depreciation</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" id="Fact_3e4fb85c9e6542f39e5a78298cfaf205" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">18,730</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">)</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" id="Fact_10f9e733c68f4ac4914585c13e5fd0a5" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">18,131</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Property and equipment, net</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_f72bd034c5f44a138409a07a60bc635c" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">11,339</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_5bd5772e381b4d8f813e1dd299e40828" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,547</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

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

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Operating lease assets</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" id="Fact_71eb22a417f54533b1e1b044e588bfc6" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,453</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" id="Fact_1018266c2a7540a195a15dca0489054c" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">8,995</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="color: rgb(0, 0, 0);">
              <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">Financing lease assets</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:FinanceLeaseRightOfUseAsset" id="Fact_2ded10a9af984a029883901596abdd70" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:FinanceLeaseRightOfUseAsset" id="Fact_3f31f84862244212ad54577d881c2378" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">23</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt;"><span style="color: rgb(0, 0, 0);"><span 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; display: inline !important; float: none;">Deferred income taxes</span> </span></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" id="Fact_3f515628f2cf4f328ad46a7cb2c99fd1" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">770</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" id="Fact_70f24457e3214e37805977f93e7e030c" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">880</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Other assets</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" id="Fact_0541ef70243b490987cc2734e2f1ade0" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">440</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" id="Fact_7a579ba1a3f8410fbbef8802e1dfd86f" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">438</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; text-align: left; width: 76%; padding-bottom: 4px; background-color: rgb(204, 238, 255);">
            <div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;">TOTAL ASSETS</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:Assets" id="Fact_1fe1585753e64adea846847776632ae1" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">72,794</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:Assets" id="Fact_70cffd90289e4302b54227519ea5ff7f" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">72,135</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

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

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-align: left; width: 76%; background-color: #CCEEFF;">
            <div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;">LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; text-align: center;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); text-align: left;">CURRENT LIABILITIES:</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Accounts payable-trade</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AccountsPayableTradeCurrent" id="Fact_11c12efc92224acda9e458cb99da55e6" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,397</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AccountsPayableTradeCurrent" id="Fact_ad09d85a682f4e8d97b11d1b3b7dbfb4" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,333</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Accrued expenses and other liabilities</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AccruedLiabilitiesAndOtherLiabilities" id="Fact_4eef18432c924b56b3185d5a927b281c" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,388</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AccruedLiabilitiesAndOtherLiabilities" id="Fact_aac5d183456b4ea0b8f8a0b9dabb0ca5" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,140</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">Income taxes payable <br/>
          </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:TaxesPayableCurrent" id="Fact_1e61e8dbeefb4fd88509d39f3b899a0c" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:TaxesPayableCurrent" id="Fact_cda6dbc814a7488cb3d6edbc252dfa50" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">288</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Current portion of operating lease liabilities</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" id="Fact_b0ed5a54a31d412b9206534fe59808b1" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,132</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" id="Fact_2404d22b257443b8ba6b802bb6a77552" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,172</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Total current liabilities</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" id="Fact_194f3a521f8542ed98e877f03b2c7a02" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,917</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" id="Fact_02ec94ec4d2a470489824c13737974d1" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">8,933</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

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

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"><span 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; display: inline !important; float: none;">Deferred income taxes</span></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" id="Fact_4d8137d4ddef4158a2cb555a3095bdda" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">9</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" id="Fact_d9ce892ce9ca4a31bb1d7b21a1f4fecf" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">9</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Uncertain tax positions</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" id="Fact_c9ad2f5c2f774ea4a3d5d622da635aac" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">388</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" id="Fact_8de18742607b436280eb413a3b253259" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">388</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Other non-current liabilities</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherLiabilitiesNoncurrent" id="Fact_d949d25374384172856dc7f66fdca62b" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">210</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherLiabilitiesNoncurrent" id="Fact_204d66e26dbf491cba8340ec6a46a474" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">205</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Operating lease liabilities, non-current</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" id="Fact_7dd3626f31de4d73899181cc1a2a07b9" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">6,734</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" id="Fact_18ae09ec07c649dbb83a7ab0e8114e93" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">6,253</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Finance lease liabilities, non-current</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityNoncurrent" id="Fact_2897bf9ae23745e99a9c1d1ef250b3db" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityNoncurrent" id="Fact_ca742f7dd7a24b1ab1630d94c691e193" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

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

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); text-align: center;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); text-align: left;">COMMITMENTS AND CONTINGENCIES (Note 6)</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><span style="-sec-ix-hidden:Fact_34a595a0c62f48acb4e6be9a8ed0ae1c"> </span></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><span style="-sec-ix-hidden:Fact_e0651627809640b292897958433181f4"> </span></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

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

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); text-align: center;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); text-align: left;">STOCKHOLDERS&#8217; EQUITY:</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Common stock, $<span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" id="Fact_af70c7f62d8a42698a7ffb29891ea158" contextRef="c20240630" unitRef="U003" decimals="4" scale="0" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" id="Fact_67ad98c9aca24ba8a594ce8c89c08b06" contextRef="c20231231" unitRef="U003" decimals="4" scale="0" format="ixt:num-dot-decimal">0.0024</ix:nonFraction></ix:nonFraction></span> par value; <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" id="Fact_10d33001bd8a4b708a13ea2111c77547" contextRef="c20240630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" id="Fact_05c4c121b89f421f98b20e1e3bdd917e" contextRef="c20231231" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">25,000,000</ix:nonFraction></ix:nonFraction></span> shares authorized; <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" id="Fact_3cef10a11764446d9e282f6524a327d8" contextRef="c20240630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">9,846,670</ix:nonFraction></span>
              and <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" id="Fact_83ea9d00f0eb43668b9ae6615ee8aaa0" contextRef="c20231231" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">9,823,621</ix:nonFraction></span> shares issued at <span style="text-indent: 0pt;">June 30</span>, <span style="text-indent: 0pt;">2024</span> and December 31, <span style="text-indent: 0pt;">2023</span>, respectively; <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" id="Fact_304d4910515b4c3b92a82deb23a70c36" contextRef="c20240630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,422,546</ix:nonFraction></span> and <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" id="Fact_57df0afafed8470d99fc99f10a787aa5" contextRef="c20231231" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,399,245</ix:nonFraction></span> shares outstanding at <span style="text-indent: 0pt;">June 30</span>,
              <span style="text-indent: 0pt;">2024</span> and December 31, <span style="text-indent: 0pt;">2023</span>,
              respectively </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CommonStockValue" id="Fact_86a951983e904f92bd6f529a6be80fc8" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">23</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CommonStockValue" id="Fact_d963ecd1aeaf46ffa26e5b4a762d7524" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">23</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Paid-in capital</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AdditionalPaidInCapital" id="Fact_b25aaa898f8447d08deaedfd3c1c9a54" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,335</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AdditionalPaidInCapital" id="Fact_c749042e61ee41b1af7383819983ddf1" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,981</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Retained earnings</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" id="Fact_5d919692d0154de7b43c9af45fd1dd13" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">64,285</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" id="Fact_631d680706e2489cbaebfe4c28826c67" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">63,659</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Treasury stock at cost (<span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:TreasuryStockCommonShares" id="Fact_f55a4907f73940b485a040204406f87d" contextRef="c20240630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:TreasuryStockCommonShares" id="Fact_13dd1be091a7489ab34f6ffdc13d6c61" contextRef="c20231231" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">1,424,376</ix:nonFraction></ix:nonFraction></span> shares at <span style="text-indent: 0pt;">June 30, 2024</span> and <span style="text-indent: 0pt;">December 31, 2023</span>)</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:TreasuryStockCommonValue" id="Fact_95e3dbf4d3dc48628c3ce62a07cc30ef" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,773</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">)</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:TreasuryStockCommonValue" id="Fact_152d00a129594a6fa9afdcfcda3fc243" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,773</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Accumulated other comprehensive loss, net of tax </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" id="Fact_575f180949724a33aa35bf42e4c0e306" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,334</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">)</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" id="Fact_cc94befd8c434ea684d35d1228e17802" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,544</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Total stockholders&#8217; equity</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_f883230d5eaf479fa435f783bf88261f" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">57,536</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_c6ee96b092f44dc88a0f39788718f460" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">56,346</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; text-align: left; width: 76%; padding-bottom: 4px;">
            <div style="color: rgb(0, 0, 0); font-weight: bold; text-indent: -9pt; margin-left: 18pt;">TOTAL LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" id="Fact_197ad2ddc1fb41eb92432bd8c7a403ca" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">72,794</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" id="Fact_15f1e2a04f714518b29ae79d86c2c952" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">72,135</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>


</table>
    <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
    </div>

    <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.</div>

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

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

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

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

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
        </div>

      </div>

    </div>

    <!--PROfilePageNumberReset%Num%3%%%--> </div>

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

    <div>
      <div>
        <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Tandy Leather Factory, Inc.</div>

        <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">
          <div style="FONT-WEIGHT: bold; COLOR: rgb(0,0,0)">Condensed Consolidated Statements of Operations and Comprehensive Income <br/>
          </div>

        </div>

        <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">(amounts in thousands, except share and per share data)</div>

        <div style="font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-weight: bold;">(Unaudited)</span> </div>

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

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


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Three Months Ended June 30,</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="6" rowspan="1" style="text-align: center; vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;"><span style="font-weight: bold;">Six Months Ended June 30,</span></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"> 2024</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
                <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"><span style="font-weight: bold;">2023</span></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: center; font-weight: bold; vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="text-align: center; vertical-align: bottom; font-weight: bold; border-bottom: #000000 solid 2px;">2024<br/>
              </td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="text-align: center; vertical-align: bottom; border-bottom: #000000 solid 2px;"><span style="font-weight: bold;">2023</span><br/>
              </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

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

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="text-align: left; vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="text-align: left; vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
                <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Net sales</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_852d72a926b64d588c7e2cb87a4fdca2" contextRef="c20240401to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">17,286</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_fde61472a43e413ba6a72d66a5c1e4d1" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">17,482</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">$</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_e5d404e8f5d54195a0b2571b5f784665" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">36,561</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">$</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_733a93420ee342aabe624376269b38e3" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">37,842</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 2px;">
                <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Cost of sales</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" id="Fact_11ed1a0fe35342e3a1c058cdf0f5c22f" contextRef="c20240401to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,268</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" id="Fact_87006948ef5e4bb4b6fc7c90046cdb5e" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">6,561</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" id="Fact_cb4823b384094e04bc64ff4662de2d89" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">15,623</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" id="Fact_618a573b99ce4529a5bff22d5595d01b" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">15,102</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
                <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Gross profit</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_3a5c0499b4b443469658e083e5a837a2" contextRef="c20240401to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,018</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_25bd46f6095545a788190eef23cbff69" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,921</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_84280a6011a541cca546e92c659c543a" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">20,938</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_8e53e16b9a194e8e9be0cac1e905ef9d" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">22,740</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

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

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
                <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Operating expenses</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingCostsAndExpenses" id="Fact_8037dd11d847458c9ab0d4d1ca8acf90" contextRef="c20240401to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,955</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingCostsAndExpenses" id="Fact_7c9db5b002e14b2791bc7efbd4627395" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,131</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:OperatingCostsAndExpenses" id="Fact_41dd5011ac2c48738a3de352ae96289e" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">20,226</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:OperatingCostsAndExpenses" id="Fact_b35cd76d068e4715bedd9d90257453c0" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">20,969</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

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

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); text-align: justify; text-indent: 9pt;">Income from operations</div>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" id="Fact_2677457e1d6b4c4a93f18e307062599b" contextRef="c20240401to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">63</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" id="Fact_9df1c0c155544ddba5c39fe9de2337ca" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">790</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" id="Fact_681d125c3f1148849137184029121480" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">712</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" id="Fact_c5b33e8ee6f443c3a228da69bf10772d" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,771</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

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

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); text-align: justify;">Other (income) expense:</div>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); text-align: justify;">Interest income</div>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:InterestIncomeExpenseNet" id="Fact_378771ab40e743b985ef82d1b5b9b05f" contextRef="c20240401to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">97</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:InterestIncomeExpenseNet" id="Fact_b6ed7a744f9540c793e742f5cef901a2" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">(<ix:nonFraction name="us-gaap:InterestIncomeExpenseNet" id="Fact_9baed9d53cbe4db3b03b6d368d8be3a8" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">181</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">)</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;"><ix:nonFraction name="us-gaap:InterestIncomeExpenseNet" id="Fact_59447cedd9e841bbb58041c30ac413ed" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;">
                <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Other, net</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" id="Fact_5e7812df59d64009ae7d3e200a6790c5" contextRef="c20240401to20240630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">10</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" id="Fact_9ec8d053579647668e9e5958b768a5ce" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" id="Fact_95710e135031489c8f496d9b9153bf51" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">36</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" id="Fact_23a180a1b4d341b68f6ff4ea520f83f8" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">37</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 2px;">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); text-align: justify; text-indent: 9pt;">Total other (income) expense&#160; </div>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" id="Fact_643aff58c3dc4a789e99aa201c46c0a6" contextRef="c20240401to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">87</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" id="Fact_885d78480b084b44831bf574d86a4056" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;">(<ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" id="Fact_d9b1877389f044368c0bdee0bf625bfc" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">145</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">)</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;"><ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" id="Fact_8d814267d18e4c0186a45013c553e38f" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">37</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
                <div style="color: rgb(0, 0, 0);">
                  <div style="color: rgb(0, 0, 0); text-align: justify; text-indent: 9pt;">Income before income taxes</div>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" id="Fact_3e50382d96ea44d0825e7f83b197c7c9" contextRef="c20240401to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">150</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" id="Fact_9682b8a7483f4cd4b53eef72dada2e78" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">792</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" id="Fact_7442957997bd4e64b0c1539ca1713d78" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">857</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" id="Fact_87a51f4f35b347329593620dc0751167" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,734</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 2px;">
                <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Income tax provision<br/>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" id="Fact_e7195d07078f4c8980966436ac9fda58" contextRef="c20240401to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">49</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" id="Fact_9d3143e86c204d40be5dd3dfe13181a7" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">261</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" id="Fact_bee7adb7214e46349d090f3956dbd736" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">231</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" id="Fact_5afc13b45b72405797ba9cd8618b484a" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">539</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 4px;">
                <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Net income<br/>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_0dff718ee0fc4f34ba95a3dd0de41697" contextRef="c20240401to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">101</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_1d9c8218b35247478ec81cc6fb72efa7" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">531</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;">$</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_b46eca170cca41388ea5ae9ce7ce1e09" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">626</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;">$</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_200335eca0114633a073f521c4e24541" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,195</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 2px;">
                <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Foreign currency translation adjustments, net of tax</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_edc56b2696f641688621385c0a56a409" contextRef="c20240401to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">40</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_0326d0a2a90f4f4cb33633265917661e" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">70</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">)</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_3bbbe05ffda64c4dae679d738a4175e5" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">210</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_39969d28f06f48b4a966dc3046ec4d23" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">109</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">)</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 4px;">
                <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Comprehensive income<br/>
                </div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" id="Fact_85cbc0834ea94bab8956801def6093ff" contextRef="c20240401to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">141</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" id="Fact_88d644bbdd564cec9e48a5ec5cd962e3" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">461</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;">$</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" id="Fact_dda687d5ae7f4c378ebbbccc05a6176b" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">836</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;">$</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" id="Fact_fb0c090ad9034cf8849bb658a8c45801" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,086</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
                <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Net income per common share:</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
                <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Basic</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_2b5627e4a8c44c59842137d0b8b149b1" contextRef="c20240401to20240630" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.01</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_80482105f6e14fb8b65d1bc213484239" contextRef="c20230401to20230630" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.06</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">$</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_0970adb527b64a2fbe39f6295f9e5bf4" contextRef="c20240101to20240630" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.07</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">$</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_ec5e822441e54c478a2638b5fc43f58b" contextRef="c20230101to20230630" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.14</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
                <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Diluted</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_3b80b9d61e884198afc95b627caf997c" contextRef="c20240401to20240630" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.01</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);">$</div>
              </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_a3814249feae477cb027d6ed5e62b653" contextRef="c20230401to20230630" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.06</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">$</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_bcfc7044774b45ff8d5a41cf73d5dbd8" contextRef="c20240101to20240630" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.07</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">$</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_427d403301e640f3911246c304f84b70" contextRef="c20230101to20230630" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.14</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
                <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Weighted average number of shares outstanding:</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
                <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Basic</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_fa40471a756f4f95ab67b8c06fb3e73d" contextRef="c20240401to20240630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,415,795</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_990dc6954cc242cf82066a244113438e" contextRef="c20230401to20230630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,327,178</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_3d4698e28baf4405bbfaa300438b402a" contextRef="c20240101to20240630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,406,156</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_b939f7dc602040cb8d288ab787c6a707" contextRef="c20230101to20230630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,315,214</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
                <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Diluted</div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_0e9e8249c3f245baa33ff742f9c2e544" contextRef="c20240401to20240630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,505,068</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_c54b6a9fa226459a82ba1efcd1ee7dd2" contextRef="c20230401to20230630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,366,904</ix:nonFraction></div>
              </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_687f04ebc1324f70a2f079f77b0863f5" contextRef="c20240101to20240630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,467,156</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_bc6a50dc3825493daebf8811598f9ea0" contextRef="c20230101to20230630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,329,969</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>


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

        <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.</div>

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

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

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

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

          <div style="width: 100%;" class="BRPFPageHeader">
            <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
            </div>

          </div>

        </div>

        <!--PROfilePageNumberReset%Num%4%%%--> </div>

    </div>


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

    <div>
      <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Tandy Leather Factory, Inc.</div>

      <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">
        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold;">Condensed Consolidated Statements of Cash Flows</div>

      </div>

      <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"> (amounts in thousands)</div>

      <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">(Unaudited)</div>

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

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


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="6">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">For the Six Months Ended June 30,</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2024</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2023<br/>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-weight: bold;">Cash flows from operating activities:</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt;">Net income</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_afe992936f844416b8ec4e0642eda8cb" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">626</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_e470e02c58864ab59f66c55f2a1e2d10" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,195</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
              <div>
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">Adjustments to reconcile net income to net cash provided by operating activities:</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt;">Depreciation and amortization</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSoldDepreciation" id="Fact_5d306f983ba0498dba2fed642408e418" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">631</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSoldDepreciation" id="Fact_9d059479e7944a349a773567501ebae2" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">590</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt;">Operating lease asset amortization</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" id="Fact_69ca229d341848a68aa7ded03ac96b2f" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,799</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" id="Fact_7b4a16c658e04ba38adc1f2b81daec3c" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,670</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt;">Stock-based compensation</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div><ix:nonFraction name="us-gaap:ShareBasedCompensation" id="Fact_4a60c5e53a5347d1bd713fefaa2f3d72" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">354</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ShareBasedCompensation" id="Fact_05ede0e37f234aa19c82a4baf8e9a20a" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">447</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;" rowspan="1">
              <div style="margin-left: 9pt; text-indent: -9pt;">Deferred income taxes <br/>
              </div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:DeferredIncomeTaxesAndTaxCredits" id="Fact_6fdd91095f244192b2886af765a9f3f7" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">110</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxesAndTaxCredits" id="Fact_70210924cfb249b6b6f84f9fea140e6e" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">31</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">)</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt;">Changes in operating assets and liabilities:</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
              <div style="text-indent: -7.2pt; margin-left: 16.2pt;">Accounts receivable-trade</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div>(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" id="Fact_469f8b97f1f7415da1d2814d69cf02d0" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">133</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div>)</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" id="Fact_dabc86ad17ae465fa2b563c2397566c6" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">51</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
              <div style="text-indent: -7.2pt; margin-left: 16.2pt;">Inventory</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" id="Fact_096a43d6e35345a295e31300db774b2d" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">775</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" id="Fact_96a1de920fe6427ab54a9e01cf0cc156" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">714</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
              <div style="text-indent: -7.2pt; margin-left: 16.2pt;">Prepaid expenses</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div>(<ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidExpense" id="Fact_039ceca9acba48cb89985abc7d8296ea" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">435</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div>)</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidExpense" id="Fact_68e8dd6e5ecf4dd0af86becdaf14e5cc" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">103</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
              <div style="text-indent: -7.2pt; margin-left: 16.2pt;">Other current assets</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherCurrentAssets" id="Fact_fe5302e6147a46c5ae71cf7dd317f2e9" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">29</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherCurrentAssets" id="Fact_491f602948a344b3845989ef3edec1dd" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">33</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
              <div style="text-indent: -7.2pt; margin-left: 16.2pt;">Accounts payable-trade</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" id="Fact_c96a8bd3728f4af0bba7809769bbd558" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">68</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" id="Fact_ca15fff38ecb4ff189b818392e1504bd" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">747</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
              <div style="text-indent: -7.2pt; margin-left: 16.2pt;">Accrued expenses and other liabilities</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilities" id="Fact_9b82894407074b9f8452abfb20b2f340" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">738</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>)</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilities" id="Fact_0e6e66ff0bd445bd9018c46734ae83a7" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">22</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
              <div style="text-indent: -7.2pt; margin-left: 16.2pt;">Income taxes, net</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div>(<ix:nonFraction name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" id="Fact_ab2074bc20e94a28830c7dbb6e21bfa9" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">718</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div>)</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" id="Fact_f98d9f3b08284482b86938b1ab3dacf0" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">414</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
              <div style="text-indent: -7.2pt; margin-left: 16.2pt;">Other assets</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" id="Fact_f736b47f9e4f451d893c54a6715a4536" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>)</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" id="Fact_c32c1139021049b9b92d23d88cdbfe3b" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">63</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
              <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Operating lease liabilities</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" id="Fact_086a534cae7b43948ab0a46cd58bb461" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,794</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" id="Fact_7253ba0442d044e495e002816e1abeb3" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,717</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">
              <div style="color: rgb(0, 0, 0); text-indent: -9pt; margin-left: 9pt;">Total adjustments</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" id="Fact_9add301286934b06ac89dbb396719083" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">54</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" id="Fact_656485542e914606afe181c1345ebe54" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,134</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-align: left; width: 76%;">
              <div style="font-weight: bold;">
                <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold; text-indent: -9pt; margin-left: 108pt;">Net cash provided by operating activities</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div style="color: rgb(0, 0, 0); font-weight: normal;"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" id="Fact_c2af07cf40504a0fb3863d68e7713c4a" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">572</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div style="color: rgb(0, 0, 0); font-weight: normal;"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" id="Fact_d7a467a27f7a4528a6ef47f8ce72ac48" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,329</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-weight: bold;">Cash flows from investing activities:</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Purchase of property and equipment</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" id="Fact_0e1b8a61db48485dad07cd192176e387" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,428</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" id="Fact_05556119cbdd43aebf16f66d8d972f68" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">174</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-align: left; width: 76%;">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">
                <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold; text-indent: -9pt; margin-left: 108pt;">Net cash used in investing activities</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div style="color: rgb(0, 0, 0); font-weight: normal;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" id="Fact_47f74efe31d24dd9855eaab1a527161d" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,428</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0); font-weight: normal;">)</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div style="color: rgb(0, 0, 0); font-weight: normal;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" id="Fact_011f12bbaf0d4984814f929f220e4fb1" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">174</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0); font-weight: normal;">)</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;" rowspan="1">
              <div style="color: rgb(0, 0, 0); text-indent: -7.2pt; font-family: 'Times New Roman'; font-weight: bold; margin-left: 7.2pt;">Cash flows from financing activities:</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt;">Payment of finance lease obligations</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:FinanceLeasePrincipalPayments" id="Fact_79576add873747dabed9e17088a219de" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:FinanceLeasePrincipalPayments" id="Fact_0c9ebe11742d4007b357682c77041e76" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-align: left; width: 76%;">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">
                <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold; margin-left: 99pt;">Net cash used in financing activities</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div style="color: rgb(0, 0, 0); font-weight: normal;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" id="Fact_52b5a6396326442d92ad66588a1be6fe" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0); font-weight: normal;">)</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div style="color: rgb(0, 0, 0); font-weight: normal;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" id="Fact_1038047a2ccc47d6bc708c0e60ff64a9" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">3</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0); font-weight: normal;">)</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Effect of exchange rate changes on cash and cash equivalents</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_080bdd037b04484ea5579b7c14fff774" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">229</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_98ef8dbc02474477aab99427288ae4e1" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">94</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Net (decrease) increase in cash and cash equivalents</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div style="color: rgb(0, 0, 0);">(<ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" id="Fact_c648e453dbe943ee9f38ad469a38a4e7" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">628</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div style="color: rgb(0, 0, 0);">)</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" id="Fact_5d05fd4badb049b8949ff918ccfd5dbb" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,058</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" rowspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Cash and cash equivalents, beginning of period</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_5acae741e051429da33001ab9e4162e6" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">12,159</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_3a0e050ab64445d7be3cc8dba22e693d" contextRef="c20221231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,975</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">
              <div style="color: rgb(0, 0, 0);">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">Cash and cash equivalents, end of period</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_da0d3ad6306c47cf8d9980e7f11ba572" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">11,531</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_90edb0cf2a4f4de6a1f4b7ed34f115be" contextRef="c20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,033</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
      <div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.</div>

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

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

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

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

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
          </div>

        </div>

      </div>

      <!--PROfilePageNumberReset%Num%5%%%--> </div>


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

    <div>
      <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Tandy Leather Factory, Inc.</div>

      <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">
        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-weight: bold;">Condensed Consolidated Statements of Stockholders&#8217; Equity</div>

      </div>

      <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">(amounts in thousands, except share data)</div>

      <div style="color: rgb(0, 0, 0); font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">(Unaudited)</div>

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

        <table cellspacing="0" cellpadding="0" border="0" style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;"><br/>
              </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">Number of</div>
                <div style="text-align: center; color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">Shares </div>
                <div style="text-align: center; color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">Common Stock</div>
                <div style="text-align: center; color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">Outstanding</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">Par Value</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">Paid-in Capital</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">Treasury </div>
                <div style="text-align: center; color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">Stock</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">Retained</div>
                <div style="text-align: center; color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">Earnings</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">Accumulated </div>
                <div style="text-align: center; color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">Other </div>
                <div style="text-align: center; color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">Comprehensive </div>
                <div style="text-align: center; color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">Income (Loss)</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
                <div style="text-align: center; color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">Total</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); text-indent: -7.2pt; font-family: 'Times New Roman',Times,serif; font-weight: bold; margin-left: 16.2pt;">Balance, December 31, 2023</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><ix:nonFraction name="us-gaap:SharesOutstanding" id="Fact_7c87dcf876174f329c56bc2e0b2ae42a" contextRef="c20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,399,245</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_56036ef2224e40c4995d501ca8182f34" contextRef="c20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">23</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_233d4fe9b0d34fd7954eee4f8f1ec26a" contextRef="c20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,981</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_e6b82976f6e346158bc2b8db8dc40211" contextRef="c20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">9,773</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_4912cc266ac84229a6bdc0032f39003c" contextRef="c20231231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">63,659</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_38a9a489ed23444ebbdfd28586c3cba6" contextRef="c20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,544</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_4c5d7fecb0fe4a0482002a36ccebb278" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">56,346</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); text-indent: -7.2pt; font-family: 'Times New Roman', Times, serif; margin-left: 7.2pt;">Stock-based compensation expense</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;">-</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_71cd39a7f71e4ed296401c1bfc1f50b7" contextRef="c20240101to20240331_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_b76423b6b509497bb407842ec5e097b3" contextRef="c20240101to20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">197</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_0f514612bcc647b2ab2e0d197d27fc99" contextRef="c20240101to20240331_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_f93f265afbd74f628cddd052290ea38f" contextRef="c20240101to20240331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_5be356490205420aa3a371c88a1ba7ac" contextRef="c20240101to20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_1388df5e5451470b983992d1ea8aaceb" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">197</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); text-indent: -7.2pt; font-family: 'Times New Roman', Times, serif; margin-left: 7.2pt;">Vesting of restricted stock units</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" id="Fact_5253204e55a24505aa999a171e91bcf1" contextRef="c20240101to20240331_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">2,727</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_a6540c746d1e41b7994115ff05f16802" contextRef="c20240101to20240331_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_7bf6074212eb471b92784ff1d08a4592" contextRef="c20240101to20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_15f3f2c9d86c4e49afed392d56b47df7" contextRef="c20240101to20240331_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_2023857a548b44489b09adb5032072a6" contextRef="c20240101to20240331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_36d58702c6924a979711977b04d9c5f2" contextRef="c20240101to20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_2caed5c902d7482b8718538474aa6d5a" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; white-space: nowrap;" rowspan="1"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-align: justify; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">Repurchase











                  of common stock</span> </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodShares" id="Fact_dd84ce58038040b4af5c4e7037c9445a" contextRef="c20240101to20240331_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="INF" scale="0" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_89101e4061ca458daecc1eb4b0a925b7" contextRef="c20240101to20240331_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_8289ba70745e4a62870e6abb4abb34f0" contextRef="c20240101to20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_e79d22490c9b469aa535a5d18c476fb1" contextRef="c20240101to20240331_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_8d4f77ebd5194a7a9bfad0e49eacfda3" contextRef="c20240101to20240331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_fa62898557a8451d85308971bc68ebee" contextRef="c20240101to20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_dee60821bb864bf5ab9c119e16ff123d" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); text-indent: -7.2pt; font-family: 'Times New Roman', Times, serif; margin-left: 7.2pt;">Net income</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;">-</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_f840065601e64301928827286d3d1a75" contextRef="c20240101to20240331_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_fc737df2ca9a45b8820f9bc406d46808" contextRef="c20240101to20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_af0c3ef28da3410594538b5a5834e1c6" contextRef="c20240101to20240331_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_d6f620a8ceae40399e1f8a6598bf0a56" contextRef="c20240101to20240331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">525</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_3a9233bc7962489fb1cbf41b7a3abfc2" contextRef="c20240101to20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_c77e836741b24c709c8c2991618bfaba" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">525</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; padding-bottom: 2px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); text-indent: -7.2pt; font-family: 'Times New Roman', Times, serif; margin-left: 7.2pt;">Foreign currency translation </div>
                <div style="color: rgb(0, 0, 0); text-indent: -7.2pt; font-family: 'Times New Roman',Times,serif; margin-left: 16.2pt;">adjustments, net of tax</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;">-</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_2123ea517c524e1687a49667f0c2819f" contextRef="c20240101to20240331_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_9c4795d6abdb48f0866767659bedb0b8" contextRef="c20240101to20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_9065c6112c80450ebe926c030500ff9e" contextRef="c20240101to20240331_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_7f44c0c446054aff96f87fe7ca9de348" contextRef="c20240101to20240331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_df96c127891045e3ad4083c6d66089fd" contextRef="c20240101to20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">170</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_aa1d276447cb483d87b6d02c30bb1ba6" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">170</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); text-indent: -7.2pt; font-family: 'Times New Roman',Times,serif; font-weight: bold; margin-left: 16.2pt;">Balance, March 31, 2024</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><ix:nonFraction name="us-gaap:SharesOutstanding" id="Fact_6fa1c2a20b764ef494ffeeefcc77364b" contextRef="c20240331_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,401,972</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_fc6d343664bc407585e88f0ac7770ad5" contextRef="c20240331_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">23</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_2de51df5f79340ceb4a62022e56e5115" contextRef="c20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,178</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_a8161a0ce8644bbb89190c3a932c6d9a" contextRef="c20240331_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">9,773</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_030ec37bfa484d2eb79168791bd9032b" contextRef="c20240331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">64,184</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_99690d64f6d8468890b5b4fc7b63d667" contextRef="c20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,374</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_4c9cbb949b5f4e2fb003165384b26811" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">57,238</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-indent: -9pt; margin-left: 9pt; width: 16%; white-space: nowrap;" rowspan="1">
                <div style="margin-left: 9pt;">Stock-based compensation expense</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1">-</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_ffffd1b04d4d40029d774622527cf433" contextRef="c20240401to20240630_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_76ad642b49134c04bd57b28219190b6e" contextRef="c20240401to20240630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">157</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_42932dc8dd394214845020c86927ea64" contextRef="c20240401to20240630_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_5850eea198d94ee9ad4999e31f87e7b9" contextRef="c20240401to20240630_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_4da83ed137684789a5de424f02e585ec" contextRef="c20240401to20240630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_1b2fe9c2031345709a062c7eee4a3b99" contextRef="c20240401to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">157</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-indent: -9pt; margin-left: 9pt; width: 16%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1">
                <div style="margin-left: 9pt;">Vesting of restricted stock units</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" id="Fact_ea49b01488ce46e58196bc172393c2af" contextRef="c20240401to20240630_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">20,574</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_6b64d0a3e50d4c128484fedc6f8ecc8f" contextRef="c20240401to20240630_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_0b7c572e644c40d999954342001fb4c5" contextRef="c20240401to20240630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_9637251d8fae47f99699338966eb9f03" contextRef="c20240401to20240630_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_514e2576bf4348cdb8cbb2b1109d8c02" contextRef="c20240401to20240630_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_399ad56d30be49eca09735c9fcd39f92" contextRef="c20240401to20240630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_4ec106636aa649688919a181dc1040c5" contextRef="c20240401to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; white-space: nowrap;" rowspan="1">
                <div style="margin-left: 9pt; text-indent: -9pt;">Repurchase of common stock</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodShares" id="Fact_1c904b117b5f4ababa77a567be4ef83a" contextRef="c20240401to20240630_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="INF" scale="0" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_35f09cf93b874f25960ec194450f5b3f" contextRef="c20240401to20240630_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_ccc6cd3f5b5046158a209a87eaae7ecd" contextRef="c20240401to20240630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_5805afdb8daa48c5bc455853d5a47b4a" contextRef="c20240401to20240630_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_b4d720b625fa4a01a5d9f5ae234f601f" contextRef="c20240401to20240630_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_66fa6336a9dd40cfa844d86812107af1" contextRef="c20240401to20240630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" id="Fact_0e25eac9b9a4456b999a3f746e601e07" contextRef="c20240401to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-indent: -9pt; margin-left: 9pt; width: 16%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1">
                <div style="margin-left: 9pt;">Net income</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1">-</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_b181f8341d384522ac19066896591984" contextRef="c20240401to20240630_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_918b6343a6294f58b6b617e95c018495" contextRef="c20240401to20240630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_22351812ce1e4c0e9cbdd393e33fb1f2" contextRef="c20240401to20240630_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_ea9058d585f244a396e391c0f360efae" contextRef="c20240401to20240630_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">101</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_6df58247155f4400aef2ec2608d6355e" contextRef="c20240401to20240630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_9529431e61504e97a4897d536ed2dd0d" contextRef="c20240401to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">101</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-indent: -9pt; margin-left: 9pt; width: 16%; padding-bottom: 2px; white-space: nowrap;" rowspan="1">
                <div style="margin-left: 9pt;">Foreign currency translation </div>
                <div style="margin-left: 18pt;">adjustments, net of tax</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">-</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_8daf7c26c8fe4f5cbe229d5416c06b1e" contextRef="c20240401to20240630_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_67c09e015f2943e89940e30b7e25b104" contextRef="c20240401to20240630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_95cb3cd8df104bdda96627649f1370b5" contextRef="c20240401to20240630_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_36a3d084f183460798005dcb8580524d" contextRef="c20240401to20240630_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_a170b69fd27d426eb3a908dac1a59136" contextRef="c20240401to20240630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">40</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_6e931e0d43ea4782918f263a8b50895e" contextRef="c20240401to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">40</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; font-weight: bold; text-indent: -9pt; margin-left: 9pt; width: 16%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" rowspan="1">
                <div style="margin-left: 9pt;">
                  <div style="margin-left: 9pt;">Balance, June 30, 2024</div>
                </div>
              </td>

    <td valign="bottom" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:SharesOutstanding" id="Fact_b61f055358f34394ba56f78f47e4e399" contextRef="c20240630_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,422,546</ix:nonFraction></td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><br/>
              </td>

    <td valign="bottom" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_13e2421d63cd47f095c820b07a9445bc" contextRef="c20240630_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">23</ix:nonFraction></td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><br/>
              </td>

    <td valign="bottom" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_39bb41d10c5749c3b89d7a01c0a32f68" contextRef="c20240630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,335</ix:nonFraction></td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><br/>
              </td>

    <td valign="bottom" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_a0a43cfe466543259b4481a88b606bc6" contextRef="c20240630_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">9,773</ix:nonFraction></td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">)</td>

    <td valign="bottom" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><br/>
              </td>

    <td valign="bottom" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_7693d7ba1e394c1ca003cee25348ba5e" contextRef="c20240630_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">64,285</ix:nonFraction></td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><br/>
              </td>

    <td valign="bottom" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_97e5294f9d574a9484d26d9c1acafcac" contextRef="c20240630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,334</ix:nonFraction></td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">)</td>

    <td valign="bottom" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><br/>
              </td>

    <td valign="bottom" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_c751f50dc0cb4832bec854f71033dfe8" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">57,536</ix:nonFraction></td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; white-space: nowrap;" rowspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); text-indent: -7.2pt; font-family: 'Times New Roman',Times,serif; font-weight: bold; margin-left: 16.2pt;">Balance, December 31, 2022</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><ix:nonFraction name="us-gaap:SharesOutstanding" id="Fact_fee552905111444bbf11062875cb589c" contextRef="c20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,293,149</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_8c22fd4e8601470bafec81aa656974d1" contextRef="c20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">23</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_82573c209ecf4441bc2ebda372c9008f" contextRef="c20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,222</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_04034779412e4b49ab8515f32966a1a8" contextRef="c20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">9,773</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_b004f7d9170b479f959287bf3da4f1d3" contextRef="c20221231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">59,891</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_c58c7ba1e4b442369458e32b2ddba600" contextRef="c20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,900</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><br/>
                </div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_f329e60a84454ef79530ef0f0235234c" contextRef="c20221231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">51,463</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); text-indent: -7.2pt; font-family: 'Times New Roman', Times, serif; margin-left: 7.2pt;">Stock-based compensation expense</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;">-</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_0836e3aaac254186b89d5d9a0445f586" contextRef="c20230101to20230331_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_e530581a26654206acd8bff2bf58af4a" contextRef="c20230101to20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">228</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_b6a222a8fac246129c03ac8fd79972ac" contextRef="c20230101to20230331_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_70c9983e14944774893da6f94bb4935c" contextRef="c20230101to20230331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_4bfba832967747f99d873df3676451f7" contextRef="c20230101to20230331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_a921fee22c9e4844a03d96e745eecd37" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">228</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); text-indent: -7.2pt; font-family: 'Times New Roman', Times, serif; margin-left: 7.2pt;">Vesting of restricted stock units</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" id="Fact_e2c3df3a1a0b43f898100914c9989c00" contextRef="c20230101to20230331_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">17,518</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_cc6c515b8d604417aa9fb81fd02e8113" contextRef="c20230101to20230331_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_d3b4b7dd44cf4f6ab0211893ea2b1a7b" contextRef="c20230101to20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_269a84dccd264c2bb7df8ae0971fa4f0" contextRef="c20230101to20230331_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_369a73b1d6114114bbfcad2f8e259a2d" contextRef="c20230101to20230331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_dae26fac796248c590ff974d08e2f196" contextRef="c20230101to20230331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_bb5cf7120445449d9ef58a4bd7d124b0" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); text-indent: -7.2pt; font-family: 'Times New Roman', Times, serif; margin-left: 7.2pt;">Net income</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;">-</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_9df6e28c3bbb489ea83b5a2f8f198547" contextRef="c20230101to20230331_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_f864a40a2f4643398460e4a06d93a647" contextRef="c20230101to20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_c2a51707ea3646e5a557edbec0f97814" contextRef="c20230101to20230331_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_3794d7a9a82a446d90c4f7afa8d766fb" contextRef="c20230101to20230331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">664</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_ca0bf68f1c9c46229dce3ccb9757ba5b" contextRef="c20230101to20230331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_f07b6b5deac44d78a17b7f505c92683d" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">664</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); text-indent: -7.2pt; font-family: 'Times New Roman', Times, serif; margin-left: 7.2pt;">Foreign currency translation </div>
                <div style="color: rgb(0, 0, 0); text-indent: -7.2pt; font-family: 'Times New Roman',Times,serif; margin-left: 16.2pt;">adjustments, net of tax</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;">-</div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_5ef161dc021945099edc1fec1454ff9e" contextRef="c20230101to20230331_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_503abfb908254248bc373eac8dc3acaa" contextRef="c20230101to20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_2f35e47c9b7e44d7920900da5c5a196f" contextRef="c20230101to20230331_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_7f6cecb4bc254663a64aa91fb6e9c145" contextRef="c20230101to20230331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_4364e6291175433c805f8e5c8fd01afe" contextRef="c20230101to20230331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">39</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_44abd95fe142418087605e8e1ffe2c71" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">39</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif;">)</div>
              </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; padding-bottom: 4px; white-space: nowrap;">
                <div style="color: rgb(0, 0, 0); text-indent: -7.2pt; font-family: 'Times New Roman',Times,serif; font-weight: bold; margin-left: 16.2pt;">Balance, March 31, 2023</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><ix:nonFraction name="us-gaap:SharesOutstanding" id="Fact_15e28863c9c14ef9b03f90f5a9f974d1" contextRef="c20230331_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,310,667</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_9e70743af5bd4d05908001c7479fbd63" contextRef="c20230331_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">23</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_8d65047b51a142ff865a497d8212a43f" contextRef="c20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,450</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_11e4316c346e49adbbbe43dab9d7a94f" contextRef="c20230331_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">9,773</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_a69e736792364677ae38db3dbdf27283" contextRef="c20230331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">60,555</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_19ed1cf4e01741739907659a7e832697" contextRef="c20230331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,939</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">)</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;">$</div>
              </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
                <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_d99d8100ace94c119261343a9e34e7e5" contextRef="c20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">52,316</ix:nonFraction></div>
              </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-indent: -9pt; margin-left: 9pt; width: 16%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1">
                <div style="margin-left: 9pt;">Stock-based compensation expense</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1">-</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_45972f26cc454114b0845c35dd94ecf5" contextRef="c20230401to20230630_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_011fba819060439aaaa54ee7649fba56" contextRef="c20230401to20230630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">219</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_45514521679d449ca8c30b6ce698158b" contextRef="c20230401to20230630_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_c9d6bd5dad354866a2de1da04001f108" contextRef="c20230401to20230630_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_9b59476e90ac47aba4eb5c2b8f346aaa" contextRef="c20230401to20230630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_b3da665613694410afdcc913780c15e3" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">219</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-indent: -9pt; width: 16%; white-space: nowrap;" rowspan="1">
                <div style="margin-left: 9pt;">Vesting of restricted stock units</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" id="Fact_c49f5d5d16a446ac9e5da7101aaee953" contextRef="c20230401to20230630_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">21,681</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_f0efb4b45f12427e8892ff325ba7936b" contextRef="c20230401to20230630_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_9323542e95e94a468db53c6a10de8714" contextRef="c20230401to20230630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_60060bdbaffc41a09412bfb0198157f7" contextRef="c20230401to20230630_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_23a6fb8a67df4d619cb86f421a35b325" contextRef="c20230401to20230630_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_c65e5e1dbe884b719f2f7e35bbfc9bb4" contextRef="c20230401to20230630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" id="Fact_78320532dc0d48caa018745ee6b27296" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; font-size: 10pt; width: 16%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1">
                <div style="text-indent: -9pt; margin-left: 9pt;"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">Shares withheld for taxes and cancelled</span></div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" id="Fact_bd3384a4065342a2848a0b5c60a30929" contextRef="c20230401to20230630_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="INF" scale="0" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" id="Fact_43cde53bdf7d4e688320624393fb2bd6" contextRef="c20230401to20230630_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" id="Fact_d63baf690ea543588ee497dc7422fbec" contextRef="c20230401to20230630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" id="Fact_06eb1cfd5f1c45ae9a354bf3b2960cc8" contextRef="c20230401to20230630_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" id="Fact_32c1ec7b6b96461e97de352a1a79df43" contextRef="c20230401to20230630_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" id="Fact_f258db751bc244e59d6c687c2594822d" contextRef="c20230401to20230630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" id="Fact_68531d69d25e40d3ad3320c04a924d51" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; white-space: nowrap;" rowspan="1">
                <div>Purchase of treasury stock</div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:TreasuryStockSharesAcquired" id="Fact_23388f35a82a498c90dfc2a748722d6a" contextRef="c20230401to20230630_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="INF" scale="0" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:TreasuryStockValueAcquiredCostMethod" id="Fact_20363d5e80ba4ae99b6fa1a12a94c1c3" contextRef="c20230401to20230630_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:TreasuryStockValueAcquiredCostMethod" id="Fact_c63f7f021237412c99d3da6ebfbfd11f" contextRef="c20230401to20230630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:TreasuryStockValueAcquiredCostMethod" id="Fact_8d95fd6921e2476b9420684adb64201f" contextRef="c20230401to20230630_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:TreasuryStockValueAcquiredCostMethod" id="Fact_d1679416269141878fa4e7ade2591e59" contextRef="c20230401to20230630_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:TreasuryStockValueAcquiredCostMethod" id="Fact_ad2b10d9e07d4b9299dfb620de728abd" contextRef="c20230401to20230630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:TreasuryStockValueAcquiredCostMethod" id="Fact_d99d94d27b254236865eec8d3e7e6454" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-indent: -9pt; margin-left: 9pt; width: 16%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1">
                <div style="margin-left: 9pt;">Net income </div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1">-</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_bfecb624351f4be2a6a41473439abe87" contextRef="c20230401to20230630_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_06c8e8e6d81f4610a2e34622db48ccad" contextRef="c20230401to20230630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_b5f2d338c7dc4015afc83fbf02bdbff1" contextRef="c20230401to20230630_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_037ffc7a34a84b669f5458d851c50cde" contextRef="c20230401to20230630_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">531</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_54f75f4515a14736a6d05bc1676889ce" contextRef="c20230401to20230630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_fddea4ae78d3467fb9dde61952af23ee" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">531</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-indent: -9pt; margin-left: 9pt; width: 16%; padding-bottom: 2px; white-space: nowrap;" rowspan="1">
                <div style="margin-left: 9pt;">Foreign currency translation </div>
                <div style="margin-left: 18pt;">adjustments, net of tax </div>
              </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">-</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_4f4b37f49e1f4f868bc002c5a8a097f9" contextRef="c20230401to20230630_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_d91a4bd9193c4cd9b37f861e8406f9de" contextRef="c20230401to20230630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_32a3f868d2d74082aae44e0e072e8676" contextRef="c20230401to20230630_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_f12a93d24d4342849efacf0bce332b3f" contextRef="c20230401to20230630_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_4d82148ff0934829b818b8e4a5e73cf6" contextRef="c20230401to20230630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">70</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">)</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" rowspan="1" colspan="1">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_faa7a75c4e104ae6b77bb18bcf355bf5" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">70</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" rowspan="1" colspan="1">)</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; font-weight: bold; text-indent: -9pt; margin-left: 9pt; width: 16%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" rowspan="1">
                <div style="margin-left: 9pt;">
                  <div style="margin-left: 9pt;">Balance, June 30, 2023</div>
                </div>
              </td>

    <td valign="bottom" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:SharesOutstanding" id="Fact_0ea2687d119b4bffa40c72fa0a7d283d" contextRef="c20230630_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,332,348</ix:nonFraction></td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><br/>
              </td>

    <td valign="bottom" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_17679a57abf5470aa9dfd7cfce7c70f5" contextRef="c20230630_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">23</ix:nonFraction></td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><br/>
              </td>

    <td valign="bottom" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_36c0c88eb38d4f9bb043a9ab28089b30" contextRef="c20230630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,669</ix:nonFraction></td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><br/>
              </td>

    <td valign="bottom" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_b2b475a3343c45e9a4a1fa3a54c6ca56" contextRef="c20230630_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">9,773</ix:nonFraction></td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">)</td>

    <td valign="bottom" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><br/>
              </td>

    <td valign="bottom" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_2753e436d7a2438db2db6e2db989fb82" contextRef="c20230630_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">61,086</ix:nonFraction></td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><br/>
              </td>

    <td valign="bottom" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_08af3c652ce14e8bafad4b53a48eb2b8" contextRef="c20230630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">2,009</ix:nonFraction></td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" rowspan="1" colspan="1">)</td>

    <td valign="bottom" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 4px double rgb(0, 0, 0);" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><br/>
              </td>

    <td valign="bottom" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_2544ab24dc7b407e8301da2e00b1222f" contextRef="c20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">52,996</ix:nonFraction></td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>


</table>
      </div>

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

      <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.</div>

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

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

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

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

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
          </div>

        </div>

      </div>

    </div>

    <div><span style="font-size: 10pt;"> </span></div>

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

    <div>
      <div style="text-align: center; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"><!--Anchor-->TANDY LEATHER FACTORY, INC.</div>

      <div style="text-align: center; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"><!--Anchor--><!--Anchor--><!--Anchor--><!--Anchor--><a id="NOTESTOCONDENSED"><!--Anchor--></a>NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</div>

      <div style="text-align: center; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">(UNAUDITED)<br/>
      </div>

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


      <ix:nonNumeric name="us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" id="Text_b31f60fb8f7b413b8381650964e68434" contextRef="c20240101to20240630" escape="true" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad31">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">1.&#160; BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES</div>
</ix:nonNumeric>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad31" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad32">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation>
      <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
        <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad32" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad33">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Tandy Leather Factory, Inc. (&#8220;TLF,&#8221; &#8220;we,&#8221; &#8220;our,&#8221; &#8220;us,&#8221; &#8220;the Company,&#8221; &#8220;Tandy,&#8221; or &#8220;Tandy Leather&#8221; mean Tandy Leather Factory, Inc., together with its subsidiaries)<span style="font-style: italic;">&#160;</span>is one of the world&#8217;s largest specialty retailers of leather and leathercraft-related items. Founded in 1919 in Fort Worth, Texas, the Company introduced leathercrafting to millions of American and later
          Canadian and other international customers and has built a track record as the trusted source of quality leather, tools, hardware, supplies, kits and teaching materials for leatherworkers everywhere. Today, our mission remains to build on our
          legacy of inspiring the timeless art and trade of leatherworking.</div>
</ix:continuation>
      </div>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad33" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad34">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad34" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad35">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">What differentiates Tandy from the competition is our high brand awareness and strong brand equity and loyalty, our network of retail stores that provides convenience,
        a high-touch customer service experience, a hub for the local leathercrafting community, and our 100-year heritage.&#160; We believe that this combination of qualities is unique to Tandy and gives the brand competitive advantages that are difficult for
        others to replicate.</div>
</ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad35" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad36">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad36" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad37">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We sell our products primarily through company-owned stores, through orders generated from our global websites, and through direct account representatives in our
        commercial division. We also manufacture leather lace, cut leather pieces and most of the do-it-yourself kits that are sold in our stores and on our websites.&#160; We also offer production services to our business customers such as cutting
        (&#8220;clicking&#8221;), splitting, and some assembly.&#160; We maintain our principal offices at 1900 Southeast Loop 820, Fort Worth, Texas 76140.</div>
</ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad37" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad38">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad38" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad39">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The Company currently operates a total of <ix:nonFraction name="us-gaap:NumberOfStores" id="Fact_f91efbe5dc94402e9fc8484961a4da63" contextRef="c20240630" unitRef="U004" decimals="0" scale="0" format="ixt:num-dot-decimal">101</ix:nonFraction> retail
        stores.&#160; There are <ix:nonFraction name="us-gaap:NumberOfStores" id="Fact_1180ad3257974d0b9eb0fe868a0bf7d0" contextRef="c20240630_StatementGeographicalAxis_US" unitRef="U004" decimals="0" scale="0" format="ixt:num-dot-decimal">90</ix:nonFraction> stores in the United States (&#8220;U.S.&#8221;), <ix:nonFraction name="us-gaap:NumberOfStores" id="Fact_6a8d2836b6fd481ab1f505c67e0bc838" contextRef="c20240630_StatementGeographicalAxis_CA" unitRef="U004" decimals="INF" scale="0" format="ixt-sec:numwordsen">ten</ix:nonFraction> stores in Canada and <ix:nonFraction name="us-gaap:NumberOfStores" id="Fact_6e407a3c8d124d56a39dc2a0a6427cfa" contextRef="c20240630_StatementGeographicalAxis_ES" unitRef="U004" decimals="INF" scale="0" format="ixt-sec:numwordsen">one</ix:nonFraction> store in Spain.</div>
</ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad39" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad310">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
      </div>
</ix:continuation>
      <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
        <div>
          <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad310" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad311">
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">The Company&#8217;s common shares currently trade on the Nasdaq Capital Market under the symbol &#8220;TLF.&#8221;</div>
</ix:continuation>
        </div>

      </div>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad311" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad312">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
      </div>
</ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad312" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad313">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We operate as a <span style="-sec-ix-hidden:Fact_4c711008a60048a693c2d64053cf65a7"><span style="-sec-ix-hidden:Fact_2c2df6efbbb741fc9d75157cfbeaec0b">single</span></span> segment and report on a
        consolidated basis.</div>
</ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad313" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad314">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation>
      <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
        <div>
          <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad314" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad315">
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">The accompanying unaudited Condensed Consolidated Financial Statements have been prepared in accordance with accounting principles generally accepted in the United
            States of America (&#8220;GAAP&#8221;) for interim financial information and with the instructions to Form 10-Q and Article 8 of Regulation S-X. Accordingly, they do not include all of the information and footnotes required by GAAP for annual audited
            financial statements. In the opinion of management, the accompanying unaudited Condensed Consolidated Financial Statements for Tandy Leather Factory, Inc. and its consolidated subsidiaries contain all adjustments (consisting of normal recurring
            adjustments) necessary to present fairly our financial position as of June 30, 2024 and December 31, 2023, our results of operations and our cash flows for the six months ended June 30, 2024 and 2023, and our statements of stockholders&#8217; equity
            as of and for the six months ended June 30, 2024 and 2023. The preparation of financial statements in accordance with GAAP requires the use of estimates that affect the reported value of assets, liabilities, revenues and expenses. These
            estimates are based on historical experience and various other factors that are believed to be reasonable under the circumstances, the results of which form the basis for the Company&#8217;s conclusions. The Company continually evaluates the
            information used to make these estimates as the business and the economic environment changes. Actual results may differ from these estimates, and estimates are subject to change due to modifications in the underlying conditions or assumptions.
            These unaudited Condensed Consolidated Financial Statements should be read in conjunction with the audited Consolidated Financial Statements and accompanying notes included in our Form 10-K for the year ended December 31, 2023.</div>
</ix:continuation>
          <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad315" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad316">
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"> <br/>
          </div>
</ix:continuation>
        </div>

      </div>

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

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

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

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
          </div>

        </div>

      </div>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad316" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad317">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Significant Accounting Policies</div>
</ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad317" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad318">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad318" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad319"><ix:nonNumeric name="us-gaap:CashAndCashEquivalentsPolicyTextBlock" id="Text_8f9875ae87af46f3ad28375a68e33c70" contextRef="c20240101to20240630" escape="true">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Cash and cash equivalents</span></span>.&#160; The Company considers investments with a maturity when purchased of three months or less to
        be cash equivalents.&#160; All credit card, debit card and electronic transfer transactions that process in less than seven days are classified as cash and cash equivalents.</div>
</ix:nonNumeric></ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad319" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad320">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad320" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad321"><ix:nonNumeric name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" id="Text_4491e6514c9647dd8ad490c67638839d" contextRef="c20240101to20240630" escape="true">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Foreign currency translation and transactions</span></span>.&#160; Foreign currency translation adjustments arise from activities of our
        foreign subsidiaries.&#160; Results of operations are translated into U.S. dollars using the average exchange rates during the period, while assets and liabilities are translated using period-end exchange rates.&#160; Foreign currency translation adjustments
        of assets and liabilities are recorded in stockholders&#8217; equity and presented net of tax.&#160; Gains and losses resulting from foreign currency translations are reported in the Condensed Consolidated Statements of Operations and Comprehensive Income
        (Loss) under the caption &#8220;Foreign currency translation adjustments, net of tax&#8221; for all periods presented.</div>
</ix:nonNumeric></ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad321" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad322">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad322" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad323"><ix:nonNumeric name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="Text_3ba8d996c79d4af78101a51a4c044b1b" contextRef="c20240101to20240630" escape="true" continuedAt="Text_1ebeb01eeecb4b4a8bd88e6dbfeba3691">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Revenue Recognition.</span></span>&#160; Our revenue is earned from sales of merchandise and generally occurs via three methods: (1) at
        the store counter, (2) via web sales, and (3) sales of product directly to commercial customers. We recognize revenue when we satisfy the performance obligation of transferring control of product merchandise over to a customer. At the store
        counter, our performance obligation is met and revenue is recognized when a sales transaction occurs with a customer. When merchandise is shipped to a customer, our performance obligation is met, and revenue is recognized when control passes to the
        customer. Shipping terms are normally free on board (&#8220;FOB&#8221;) shipping point, and control passes when the merchandise is shipped to the customer. Sales tax and comparable foreign tax are excluded from net sales, while shipping charged to our
        customers is included in net sales. Net sales are based on the amount of consideration that we expect to receive, reduced by estimates for future merchandise returns.</div>
</ix:nonNumeric></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad323" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad324"><ix:continuation id="Text_1ebeb01eeecb4b4a8bd88e6dbfeba3691" continuedAt="Text_1ebeb01eeecb4b4a8bd88e6dbfeba3692">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad324" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad325"><ix:continuation id="Text_1ebeb01eeecb4b4a8bd88e6dbfeba3692" continuedAt="Text_1ebeb01eeecb4b4a8bd88e6dbfeba3693">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The sales return allowance is based each year on historical customer return behavior and other known factors and reduces net sales and cost of sales, accordingly. The
        sales return allowance included in accrued expense and other liabilities was $<ix:nonFraction name="us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" id="Fact_fba9107499d04cef8748a57342d4fb52" contextRef="c20240630" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.1</ix:nonFraction> million, $<ix:nonFraction name="us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" id="Fact_267ba8e671e14391b61ec401a2a59ec4" contextRef="c20231231" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.1</ix:nonFraction> million, and $<ix:nonFraction name="us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" id="Fact_8576018c8d3d4e96afea0aceb58a2412" contextRef="c20221231" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.2</ix:nonFraction> million as of June 30, 2024, December 31,
        2023, and January 1, 2023. The estimated value of merchandise expected to be returned included in other current assets was less than $<ix:nonFraction name="tlfa:InventoryMerchandiseExpectedToBeReturned" id="Fact_73fb099e68f046d08a360f96290afb5e" contextRef="c20240630" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="tlfa:InventoryMerchandiseExpectedToBeReturned" id="Fact_06c23c73f5734205895c2ca6a0ed362f" contextRef="c20221231" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="tlfa:InventoryMerchandiseExpectedToBeReturned" id="Fact_00138dfd9506421193165924f9f5b771" contextRef="c20231231" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.1</ix:nonFraction></ix:nonFraction></ix:nonFraction>
        million as of June 30, 2024, December 31, 2023, and January 1, 2023.</div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad325" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad326"><ix:continuation id="Text_1ebeb01eeecb4b4a8bd88e6dbfeba3693" continuedAt="Text_1ebeb01eeecb4b4a8bd88e6dbfeba3694">
<div><br/></div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad326" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad327"><ix:continuation id="Text_1ebeb01eeecb4b4a8bd88e6dbfeba3694" continuedAt="Text_1ebeb01eeecb4b4a8bd88e6dbfeba3695">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We record a gift card liability for the unfulfilled performance obligation on the date we issue a gift card to a customer. We record revenue and reduce the gift card
        liability as the customer redeems the gift card. In addition, for gift card breakage, we recognize a proportionate amount for the expected unredeemed gift cards over the expected customer redemption period, which is <ix:nonNumeric name="tlfa:GiftCardRedemptionPeriod" id="Fact_fcf4c193821349719d7811751412bc6a" contextRef="c20240101to20240630" format="ixt-sec:durwordsen">one year</ix:nonNumeric>. As of June 30, 2024, December 31, 2023 and January 1, 2023, our gift card liability, included in accrued expenses and other liabilities, was $<ix:nonFraction name="us-gaap:ContractWithCustomerLiability" id="Fact_4dc8a2894cf646568ea6d762389dded4" contextRef="c20240630_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.1</ix:nonFraction> million, $<ix:nonFraction name="us-gaap:ContractWithCustomerLiability" id="Fact_119c4754bea0401f903b320c5908a7f9" contextRef="c20231231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.3</ix:nonFraction> million and $<ix:nonFraction name="us-gaap:ContractWithCustomerLiability" id="Fact_e7e05218d11b4431b057ed7a7c78316f" contextRef="c20221231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.3</ix:nonFraction> million, respectively. We recognized gift card revenue of $<ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" id="Fact_c84f94b9486b4805a3ca77bf1233d784" contextRef="c20240101to20240630" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" id="Fact_7a55e697d08c4aecb66eaf758b7ba261" contextRef="c20230101to20230630" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.2</ix:nonFraction></ix:nonFraction> million for the six months ended June 30, 2024 and 2023.<br/>
      </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad327" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad328"><ix:continuation id="Text_1ebeb01eeecb4b4a8bd88e6dbfeba3695" continuedAt="Text_1ebeb01eeecb4b4a8bd88e6dbfeba3696">
<div><br/></div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad328" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad329"><ix:continuation id="Text_1ebeb01eeecb4b4a8bd88e6dbfeba3696" continuedAt="Text_1ebeb01eeecb4b4a8bd88e6dbfeba3697">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For the three months ended June 30, 2024 and 2023, we recognized $<ix:nonFraction name="us-gaap:DeferredRevenueRevenueRecognized1" id="Fact_e07212b124964757b4036cf1c81f8659" contextRef="c20240401to20240630" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.1</ix:nonFraction>
        million and $<ix:nonFraction name="us-gaap:DeferredRevenueRevenueRecognized1" id="Fact_0c5c415e7bda4de0a17c3ac522f79c9c" contextRef="c20230401to20230630" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.2</ix:nonFraction> million respectively in net sales associated with gift cards.</div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad329" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad330"><ix:continuation id="Text_1ebeb01eeecb4b4a8bd88e6dbfeba3697" continuedAt="Text_1ebeb01eeecb4b4a8bd88e6dbfeba3698">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
      </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad330" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad331"><ix:continuation id="Text_1ebeb01eeecb4b4a8bd88e6dbfeba3698" continuedAt="Text_1ebeb01eeecb4b4a8bd88e6dbfeba3699">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For the six months ended June 30, 2024 and 2023, we recognized $<ix:nonFraction name="us-gaap:DeferredRevenueRevenueRecognized1" id="Fact_b7f6dc9329d24f04a4750a2e71a0ee61" contextRef="c20240101to20240630" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.2</ix:nonFraction>
        million and $<ix:nonFraction name="us-gaap:DeferredRevenueRevenueRecognized1" id="Fact_665a7a9866224f608d3e139dc633d5ec" contextRef="c20230101to20230630" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.3</ix:nonFraction> million respectively in net sales associated with gift cards.</div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad331" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad332"><ix:continuation id="Text_1ebeb01eeecb4b4a8bd88e6dbfeba3699" continuedAt="Text_1ebeb01eeecb4b4a8bd88e6dbfeba36910">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation></ix:continuation>
      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

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

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

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
          </div>

        </div>

      </div>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad332" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad333"><ix:continuation id="Text_1ebeb01eeecb4b4a8bd88e6dbfeba36910" continuedAt="Text_1ebeb01eeecb4b4a8bd88e6dbfeba36911">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Disaggregated Revenue.</span>&#160; </span><ix:nonNumeric name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="Text_95f678f8a7f44cd08f32a8da83e5d5c7" contextRef="c20240101to20240630" escape="true" continuedAt="Text_31a2539340074e5495fd93fbfe3e4c691"><span style="font-family: 'Times New Roman'; font-size: 10pt; color: #000000;"> In the following table, revenue for the three and six months ended June 30,
        2024 and 2023 is disaggregated by geographic areas as follows:</span></ix:nonNumeric></div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_31a2539340074e5495fd93fbfe3e4c691" continuedAt="Text_31a2539340074e5495fd93fbfe3e4c692"><ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad333" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad334"><ix:continuation id="Text_1ebeb01eeecb4b4a8bd88e6dbfeba36911" continuedAt="Text_1ebeb01eeecb4b4a8bd88e6dbfeba36912">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
      </div>
</ix:continuation></ix:continuation></ix:continuation>
      <ix:continuation id="Text_31a2539340074e5495fd93fbfe3e4c692"><ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad334" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad335"><ix:continuation id="Text_1ebeb01eeecb4b4a8bd88e6dbfeba36912" continuedAt="Text_1ebeb01eeecb4b4a8bd88e6dbfeba36913">
<table cellspacing="0" cellpadding="0" border="0" class="cfttable" style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;"> </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;">
              <div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended June 30,</div>
            </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: center; font-weight: bold; vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" rowspan="1" style="text-align: center; vertical-align: bottom; font-weight: bold; border-bottom: #000000 solid 2px; white-space: nowrap;">Six Months Ended June 30,</td>

    <td valign="bottom" colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;"><span style="font-style: italic;">(in thousands)</span></td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

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

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

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

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="text-align: center; vertical-align: bottom; border-bottom: #000000 solid 2px;"><span style="font-weight: bold;">2024 </span></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="text-align: center; vertical-align: bottom; border-bottom: #000000 solid 2px;"><span style="font-weight: bold;">2023 </span></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF; white-space: nowrap;">
              <div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">United States</div>
            </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_365e30eded0e413cb9ff8d0f2d197344" contextRef="c20240401to20240630_StatementGeographicalAxis_US" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">15,300</ix:nonFraction></div>
            </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_c37fd0e3ea3940d3b99aa0390b8f2d52" contextRef="c20230401to20230630_StatementGeographicalAxis_US" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">15,566</ix:nonFraction></div>
            </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">$</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_6e37c9b6bc7a48d587bda2157e905ac2" contextRef="c20240101to20240630_StatementGeographicalAxis_US" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">32,386</ix:nonFraction> </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">$</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_d9c07d8e8b8e4af8a4891b3d46bddf0a" contextRef="c20230101to20230630_StatementGeographicalAxis_US" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">33,665</ix:nonFraction> </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; white-space: nowrap;">
              <div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Canada</div>
            </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_fae00e2d883f4ad1bab0a783088c97fd" contextRef="c20240401to20240630_StatementGeographicalAxis_CA" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,737</ix:nonFraction></div>
            </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_3b74801aa757475d96b6d3024368a28e" contextRef="c20230401to20230630_StatementGeographicalAxis_CA" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,591</ix:nonFraction></div>
            </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_841ca9a875f24ff692d21f9754a14ff3" contextRef="c20240101to20240630_StatementGeographicalAxis_CA" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,633</ix:nonFraction>
            </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_86cba012d2624f30b9e328dde0b512c0" contextRef="c20230101to20230630_StatementGeographicalAxis_CA" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,498</ix:nonFraction>
            </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">Other </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_94295ce9ae814383894ef4412b786dd9" contextRef="c20240401to20240630_StatementGeographicalAxis_OtherCountriesMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">249</ix:nonFraction> </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_a26b6e64a30e447d8a054393625f04f5" contextRef="c20230401to20230630_StatementGeographicalAxis_OtherCountriesMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">325</ix:nonFraction> </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_df647145f0fd4cd08e644b00a82939ce" contextRef="c20240101to20240630_StatementGeographicalAxis_OtherCountriesMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">542</ix:nonFraction> </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_0381f7c1a5494b1691d783019182294c" contextRef="c20230101to20230630_StatementGeographicalAxis_OtherCountriesMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">679</ix:nonFraction> </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 4px; white-space: nowrap;">
              <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">Net sales</div>
            </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">$</div>
            </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_8e32e3950a3c41769ee063e7b661b001" contextRef="c20240401to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">17,286</ix:nonFraction></div>
            </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">$</div>
            </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_412616607b694f918be344669212d2a7" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">17,482</ix:nonFraction></div>
            </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;">$</td>

    <td valign="bottom" colspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_a69f3604ad4d488c812fe9ccd89c6d9a" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">36,561</ix:nonFraction> </td>

    <td valign="bottom" colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;">$</td>

    <td valign="bottom" colspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_37df6b73c17b4e15961d42c31c2e0868" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">37,842</ix:nonFraction> </td>

    <td valign="bottom" colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation></ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad335" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad336"><ix:continuation id="Text_1ebeb01eeecb4b4a8bd88e6dbfeba36913" continuedAt="Text_1ebeb01eeecb4b4a8bd88e6dbfeba36914">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad336" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad337"><ix:continuation id="Text_1ebeb01eeecb4b4a8bd88e6dbfeba36914">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Geographic sales information is based on the location of the customer.&#160; As a percentage of our consolidated net sales, excluding Canada, our other international net
        sales were less than <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_f3972353d8b646828d8eab108be8015a" contextRef="c20230401to20230630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_RangeAxis_MaximumMember_StatementGeographicalAxis_AllOtherCountriesMember" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_572f4e930b504952a5b2d2db9989d1a4" contextRef="c20240401to20240630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_RangeAxis_MaximumMember_StatementGeographicalAxis_AllOtherCountriesMember" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_1738efd89684429fbc553369f2fd17a2" contextRef="c20240101to20240630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_RangeAxis_MaximumMember_StatementGeographicalAxis_AllOtherCountriesMember" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_16cbeab185c64ae68b1496215526d1f1" contextRef="c20230101to20230630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_RangeAxis_MaximumMember_StatementGeographicalAxis_AllOtherCountriesMember" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">2.0</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction>% for the three and six months ended June 30, 2024, and 2023 respectively.</div>
</ix:continuation></ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad337" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad338">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad338" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad339"><ix:nonNumeric name="tlfa:RevenueRecognitionDiscountsPolicyTextBlock" id="Text_a6b788d6a6ef49139bea140c785437d4" contextRef="c20240101to20240630" escape="true">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Discounts</span></span>.&#160; We offer <ix:nonFraction name="tlfa:NumberOfClassesOfCustomerDiscounts" id="Fact_70ee019f185c49cfbe370e62bf0be9f9" contextRef="c20240101to20240630" unitRef="U007" decimals="INF" scale="0" format="ixt-sec:numwordsen">six</ix:nonFraction>
        classes of customer discounts:&#160; 1) Retail, 2) Military/First Responder, 3) Business, 4) Commercial, 5) Commercial Pro, and 6) Employees. There are no other classes of discounts, and any discounts given will fall into one of these <ix:nonFraction name="tlfa:NumberOfClassesOfCustomerDiscounts" id="Fact_84b34301851945e4a8d845b3b0a9f573" contextRef="c20240101to20240630" unitRef="U007" decimals="INF" scale="0" format="ixt-sec:numwordsen">six</ix:nonFraction> categories.&#160; Such discounts are not deemed to be variable consideration&#160; nor convey a material right to these customers since the discounted pricing
        they receive in a discount class is not incremental to others within the same class and there is no retrospective impact of such discounts.&#160; As a result, sales are reported after deduction of discounts at the point of sale.&#160; We do not pay slotting
        fees or make other payments to resellers.</div>
</ix:nonNumeric></ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad339" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad340">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad340" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad341"><ix:nonNumeric name="us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock" id="Text_49fa23af0ba24397bcf2f832ad5e1fac" contextRef="c20240101to20240630" escape="true">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Operating</span></span><span style="text-decoration: underline;">&#160;</span><span style="font-style: italic;"><span style="text-decoration: underline;">expenses</span></span>.&#160; Operating expenses include all selling,
        general and administrative costs, including wages and benefits, rent and occupancy costs, depreciation, advertising, store operating expenses, outbound freight charges (to ship merchandise to customers), and corporate office costs.</div>
</ix:nonNumeric></ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad341" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad342">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad342" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad343"><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" id="Text_254677ffca6d42ab96ab85c61048f1f3" contextRef="c20240101to20240630" escape="true">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Property and equipment, net of accumulated depreciation</span></span>.&#160; Property and equipment are stated at cost.&#160; Depreciation is
        computed using the straight-line method over the estimated useful lives of the assets, which are <span style="-sec-ix-hidden:Fact_f6f6e0f9d99e4a14a6efa773cccc6372">three</span> to <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_f4521bf3364d4326aebf6c3040a95e9c" contextRef="c20240630_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember_RangeAxis_MaximumMember" format="ixt-sec:durwordsen">ten years</ix:nonNumeric> for equipment and machinery, <span style="-sec-ix-hidden:Fact_4b51686560af46539f10d61548e34c47">seven</span>
        to <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_01ccf03a85df4cc9ab83170fc54b68c9" contextRef="c20240630_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember_RangeAxis_MaximumMember" format="ixt-sec:durwordsen">fifteen years</ix:nonNumeric> for furniture and fixtures, <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_3d576e15d7d9445ea3fbbb05d79641cb" contextRef="c20240630_PropertyPlantAndEquipmentByTypeAxis_VehiclesMember" format="ixt-sec:durwordsen">five years</ix:nonNumeric> for vehicles, and <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_4b78fac008c94149ac7d86bc15532282" contextRef="c20240630_PropertyPlantAndEquipmentByTypeAxis_BuildingAndBuildingImprovementsMember" format="ixt-sec:durwordsen">forty years</ix:nonNumeric> for buildings and related improvements.&#160; Leasehold
        improvements are amortized over the lesser of the life of the lease or the useful life of the asset.&#160; Repairs and maintenance costs are expensed as incurred but are capitalized if extend the life of the assets.</div>
</ix:nonNumeric></ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad343" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad344">
<div><br/>
      </div>
</ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad344" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad345"><ix:nonNumeric name="us-gaap:InventoryPolicyTextBlock" id="Text_a368177790cb433bad720854c423e636" contextRef="c20240101to20240630" escape="true" continuedAt="Text_62ce53c927814e30b1e152c9763025dd1">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Inventory</span></span>.&#160; Inventory is stated at the lower of first-in, first-out (&#8220;FIFO&#8221;) cost or net realizable value, and FIFO
        layers are maintained at the location level. Finished goods held for sale include the cost of merchandise purchases, the costs to bring the merchandise to our Texas distribution center, warehousing and handling expenditures, and distributing and
        delivering merchandise to our stores.&#160; These costs include depreciation of long-lived assets utilized in acquiring, warehousing and distributing inventory. Manufacturing inventory including raw materials and work-in-process is valued on a first in,
        first out basis using full absorption accounting which includes material, labor, and other applicable manufacturing overhead.&#160; Carrying values of inventory are analyzed and, to the extent that the cost of inventory exceeds the net realizable value,
        provisions are made to reduce the carrying amount of the inventory.</div>
</ix:nonNumeric></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad345" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad346"><ix:continuation id="Text_62ce53c927814e30b1e152c9763025dd1" continuedAt="Text_62ce53c927814e30b1e152c9763025dd2">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad346" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad347"><ix:continuation id="Text_62ce53c927814e30b1e152c9763025dd2" continuedAt="Text_62ce53c927814e30b1e152c9763025dd3">
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">We regularly review all inventory items to determine if there are (i) damaged goods (e.g., for leather, excessive scars or damage from ultra-violet (&#8220;UV&#8221;) light), (ii)
        items that need to be removed from our product line (e.g., slow-moving items, inability of a supplier to provide items of acceptable quality or quantity, and to maintain freshness in the product line) and (iii) pricing actions that need to be taken
        to adequately value our inventory at the lower of cost or net realizable value. </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad347" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad348"><ix:continuation id="Text_62ce53c927814e30b1e152c9763025dd3" continuedAt="Text_62ce53c927814e30b1e152c9763025dd4">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
      </div>
</ix:continuation></ix:continuation>
      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

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

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

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
          </div>

        </div>

      </div>

    </div>

    <div>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad348" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad349"><ix:continuation id="Text_62ce53c927814e30b1e152c9763025dd4" continuedAt="Text_62ce53c927814e30b1e152c9763025dd5">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Since the determination of net realizable value of inventory involves both estimation and judgement with regard to market values and reasonable costs to sell,
        differences in these estimates could result in ultimate valuations that differ from the recorded asset. </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad349" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad350"><ix:continuation id="Text_62ce53c927814e30b1e152c9763025dd5" continuedAt="Text_62ce53c927814e30b1e152c9763025dd6">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
      </div>
</ix:continuation></ix:continuation>
      <!--PROfilePageNumberReset%Num%9%%%-->
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad350" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad351"><ix:continuation id="Text_62ce53c927814e30b1e152c9763025dd6" continuedAt="Text_62ce53c927814e30b1e152c9763025dd7">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The majority of inventory purchases and commitments are made in U.S. dollars in order to limit the Company&#8217;s exposure to foreign currency fluctuations.&#160; Goods shipped
        to us are recorded as inventory owned by us when the risk of loss shifts to us from the supplier.<span style="color: rgb(0, 0, 0);"> &#160;</span></div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad351" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad352"><ix:continuation id="Text_62ce53c927814e30b1e152c9763025dd7" continuedAt="Text_62ce53c927814e30b1e152c9763025dd8">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad352" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad353"><ix:continuation id="Text_62ce53c927814e30b1e152c9763025dd8" continuedAt="Text_62ce53c927814e30b1e152c9763025dd9">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Inventory is physically counted partially during each quarter and fully at year-end in the Texas distribution center.&#160; At the store level,
        inventory is partially counted each quarter for high value items and fully at year-end. <ix:nonNumeric name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="Text_990ec3ab0bdb4cb283f52a861f1f341f" contextRef="c20240101to20240630" escape="true" continuedAt="Text_1b9ff9ea1e3b4c97ad1cb431fb39c2cc1"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Inventory is then adjusted in our accounting system to reflect actual count results.&#160;&#160;</span></ix:nonNumeric></div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_1b9ff9ea1e3b4c97ad1cb431fb39c2cc1" continuedAt="Text_1b9ff9ea1e3b4c97ad1cb431fb39c2cc2"><ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad353" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad354"><ix:continuation id="Text_62ce53c927814e30b1e152c9763025dd9" continuedAt="Text_62ce53c927814e30b1e152c9763025dd10">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation></ix:continuation></ix:continuation>
      <ix:continuation id="Text_1b9ff9ea1e3b4c97ad1cb431fb39c2cc2"><ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad354" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad355"><ix:continuation id="Text_62ce53c927814e30b1e152c9763025dd10">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">June 30, 2024</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">On hand:</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
              <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Finished goods held for sale</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" id="Fact_0db2bd3b176c48fe8d35488136dca9e2" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">32,640</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" id="Fact_d3ec714ee1ac47339a1dc07f3a0deed2" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">33,350</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
              <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Raw materials and work in process</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:InventoryWorkInProcessAndRawMaterials" id="Fact_8bb7a2ec1526497a89d0f10db93a5c51" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,358</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:InventoryWorkInProcessAndRawMaterials" id="Fact_d2ce46355bae4e3bb90b83d15ac8f326" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,774</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Inventory in transit</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherInventoryInTransit" id="Fact_514d2bed8bcc4c57bb4056baaa2ad869" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,193</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
              <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:OtherInventoryInTransit" id="Fact_f17cff240a1b4fee88ad086d8e3d20c9" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,869</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-weight: bold;">TOTAL</div>
            </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
              <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_c92ccb9febcb434d861876cc15015e61" contextRef="c20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">37,191</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
              <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_940b48ef087c4d30b3c72a35ad1de0ea" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">37,993</ix:nonFraction></div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation></ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad355" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad356">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad356" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad357"><ix:nonNumeric name="us-gaap:LesseeLeasesPolicyTextBlock" id="Text_901331bdc6cf42a4980504556d7bfd14" contextRef="c20240101to20240630" escape="true" continuedAt="Text_7b41b0699a2e4e63804cfcc05257d6e41">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Leases</span></span>.&#160; We lease real estate for our retail store locations and may lease warehouse equipment for our Texas
        distribution center under long-term lease agreements; &#160; however, as of the end of June 30, 2023, we acquired the warehouse equipment and it is now a part of our fixed assets. We determine if an arrangement is a lease at inception and recognize
        right-of-use (&#8220;ROU&#8221;) assets and lease liabilities at commencement date based on the present value of the lease payments over the lease term.<span style="color: rgb(0, 0, 0);">&#160; We elected not to record leases with an initial term of 12 months or
          less on the balance sheet for all our asset classes.</span></div>
</ix:nonNumeric></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad357" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad358"><ix:continuation id="Text_7b41b0699a2e4e63804cfcc05257d6e41" continuedAt="Text_7b41b0699a2e4e63804cfcc05257d6e42">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad358" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad359"><ix:continuation id="Text_7b41b0699a2e4e63804cfcc05257d6e42" continuedAt="Text_7b41b0699a2e4e63804cfcc05257d6e43">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For operating leases, the present value of our lease liabilities may include: (1) rental payments adjusted for inflation or market rates, and (2) lease terms with
        options to renew the lease or options to purchase leased equipment, when it is reasonably certain we will exercise such an option.&#160; The exercise of lease renewal or purchase option is generally at our discretion.&#160; Payments based on a change in an
        index or market rate are not considered in the determination of lease payments for purposes of measuring the related lease liability.&#160; We discount lease payments using our incremental borrowing rate based on information available as of the
        measurement date.</div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad359" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad360"><ix:continuation id="Text_7b41b0699a2e4e63804cfcc05257d6e43" continuedAt="Text_7b41b0699a2e4e63804cfcc05257d6e44">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad360" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad361"><ix:continuation id="Text_7b41b0699a2e4e63804cfcc05257d6e44" continuedAt="Text_7b41b0699a2e4e63804cfcc05257d6e45">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We recognize rent expense related to our operating leases assets on a straight-line basis over the lease term. Rent expense is recorded in operating expenses.<br/>
      </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad361" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad362"><ix:continuation id="Text_7b41b0699a2e4e63804cfcc05257d6e45" continuedAt="Text_7b41b0699a2e4e63804cfcc05257d6e46">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad362" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad363"><ix:continuation id="Text_7b41b0699a2e4e63804cfcc05257d6e46" continuedAt="Text_7b41b0699a2e4e63804cfcc05257d6e47">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For finance leases, our right-of-use assets are amortized on a straight-line basis over the earlier of the useful life of the right-of-use asset or the end of the
        lease term with rent expense recorded to operating expenses.&#160; We adjust the lease liability to reflect lease payments made during the period and interest incurred on the lease liability using the effective interest method. The interest expense
        incurred is recorded in interest expense on the Condensed Consolidated Statements of Operations and Comprehensive Income.</div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad363" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad364"><ix:continuation id="Text_7b41b0699a2e4e63804cfcc05257d6e47" continuedAt="Text_7b41b0699a2e4e63804cfcc05257d6e48">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad364" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad365"><ix:continuation id="Text_7b41b0699a2e4e63804cfcc05257d6e48">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The depreciable life of related leasehold improvements is based on the shorter of the useful life or the lease term.&#160; We also perform interim reviews of our lease
        assets for impairment when evidence exists that the carrying value of an asset group, including a lease asset, may not be recoverable. None of our lease agreements contain contingent rental payments, material residual value guarantees or material
        restrictive covenants.&#160; We have no sublease agreements and no lease agreements in which we are named as a lessor.<br/>
      </div>
</ix:continuation></ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad365" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad366">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation>
      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

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

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

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
          </div>

        </div>

      </div>


      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad366" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad367"><ix:nonNumeric name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" id="Text_ebeff7a2f6b945f89eacb4a31d24eec1" contextRef="c20240101to20240630" escape="true">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Impairment of Long-Lived Assets</span></span>.&#160; We evaluate long-lived assets on a quarterly basis to identify events or changes in
        circumstances (&#8220;triggering events&#8221;) that indicate the carrying value of certain assets&#160;may&#160;not&#160;be recoverable.&#160; Upon the occurrence of a triggering event, ROU lease assets, property and equipment and definite-lived intangible assets are reviewed
        for impairment and an impairment loss is recorded in the period in which it is determined that the carrying amount of the assets is&#160;not&#160;recoverable.&#160; The determination of recoverability is made based upon the estimated undiscounted future net cash
        flows of assets grouped at the lowest level for which there are identifiable cash flows independent of the cash flows of other groups of assets with such cash flows to be realized over the estimated remaining useful life of the primary asset within
        the asset group.&#160; The Company determined the lowest level of identifiable cash flows that are independent of other asset groups to be primarily at the individual store level.&#160; If the estimated undiscounted future net cash flows for a given store
        are less than the carrying amount of the related store assets, an impairment loss is determined by comparing the estimated fair value with the carrying value of the related assets.&#160; The impairment loss is then allocated across the asset group&#8217;s
        major classifications which in this case are operating lease assets and property and equipment.&#160; Triggering events at the store level could include material declines in operational and financial performance or planned changes in the use of assets,
        such as store relocation or store closure.&#160; This evaluation requires management to make judgements relating to future cash flows, growth rates and economic and market conditions.&#160; The fair value of an asset group is estimated using a discounted
        cash flow valuation method.</div>
</ix:nonNumeric></ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad367" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad368">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad368" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad369"><ix:nonNumeric name="us-gaap:FairValueOfFinancialInstrumentsPolicy" id="Text_923b48d0868141ba99975bf649556eaa" contextRef="c20240101to20240630" escape="true" continuedAt="Text_9841a633755748778ff25d7ab1fc89191">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Fair Value of Financial Instruments</span></span>.&#160; We measure fair value as an exit price, which is the amount that would be
        received to sell an asset or paid to transfer a liability in an orderly transaction between market participants.&#160; As a basis for considering such assumptions, accounting standards establish a three-tier fair value hierarchy, which prioritizes the
        inputs used in the valuation methodologies in measuring fair value:</div>
</ix:nonNumeric></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad369" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad370"><ix:continuation id="Text_9841a633755748778ff25d7ab1fc89191" continuedAt="Text_9841a633755748778ff25d7ab1fc89192">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad370" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad371"><ix:continuation id="Text_9841a633755748778ff25d7ab1fc89192" continuedAt="Text_9841a633755748778ff25d7ab1fc89193">
<div>
        <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

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

    <td style="width: 36pt; vertical-align: top;">
                <div style="margin-left: 18pt;">&#8226;</div>
              </td>

    <td style="width: auto; vertical-align: top;">
                <div style="text-align: justify;">Level 1 &#8211; observable inputs that reflect quoted prices in active markets for identical assets or liabilities.</div>
              </td>

  </tr>


</table>
      </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad371" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad372"><ix:continuation id="Text_9841a633755748778ff25d7ab1fc89193" continuedAt="Text_9841a633755748778ff25d7ab1fc89194">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad372" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad373"><ix:continuation id="Text_9841a633755748778ff25d7ab1fc89194" continuedAt="Text_9841a633755748778ff25d7ab1fc89195">
<div>
        <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

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

    <td style="width: 36pt; vertical-align: top;">
                <div style="margin-left: 18pt;">&#8226;</div>
              </td>

    <td style="width: auto; vertical-align: top;">
                <div style="text-align: justify;">Level 2 &#8211; significant observable inputs other than quoted prices in active markets for similar assets and liabilities, such as quoted prices for identical or similar assets or liabilities in markets that
                  are not active; or other inputs that are observable or can be corroborated by observable market data.</div>
              </td>

  </tr>


</table>
      </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad373" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad374"><ix:continuation id="Text_9841a633755748778ff25d7ab1fc89195" continuedAt="Text_9841a633755748778ff25d7ab1fc89196">
<div><br/></div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad374" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad375"><ix:continuation id="Text_9841a633755748778ff25d7ab1fc89196" continuedAt="Text_9841a633755748778ff25d7ab1fc89197">
<div>
        <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

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

    <td style="width: 36pt; vertical-align: top;">
                <div style="margin-left: 18pt;">&#8226;</div>
              </td>

    <td style="width: auto; vertical-align: top;">
                <div style="text-align: justify;">Level 3 &#8211; significant unobservable inputs reflecting our own assumptions, consistent with reasonably available assumptions made by other market participants.</div>
              </td>

  </tr>


</table>
        <div style="font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>

      </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad375" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad376"><ix:continuation id="Text_9841a633755748778ff25d7ab1fc89197" continuedAt="Text_9841a633755748778ff25d7ab1fc89198">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Classification of the financial asset or liability within the hierarchy is determined based on the lowest level input that is significant to the fair value
        measurement.</div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad376" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad377"><ix:continuation id="Text_9841a633755748778ff25d7ab1fc89198" continuedAt="Text_9841a633755748778ff25d7ab1fc89199">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation></ix:continuation>
      <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
        <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad377" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad378"><ix:continuation id="Text_9841a633755748778ff25d7ab1fc89199">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Our principal financial instruments held consist of T-Bills as of June 30, 2024 and December 31, 2023 which fall under level 1 of the fair value hierarchy; accounts
          receivable - trade, accounts payable - trade, as of June 30, 2024 and December 31, 2023, all of which fall under Level 3 of the fair value hierarchy.&#160; As of June 30, 2024 and December 31, 2023, the carrying values of our financial instruments
          included in our Consolidated Balance Sheets approximated their fair values.&#160; There were <ix:nonFraction name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" id="Fact_b024436dacb44280b30df8070222d540" contextRef="c20230101to20230630" unitRef="U002" decimals="0" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" id="Fact_13d7f6d81a99418488a814980fc71d4f" contextRef="c20240101to20240630" unitRef="U002" decimals="0" scale="0" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction> transfers into or out of Levels 1, 2
          and 3 during the six months ended June 30, 2024 and 2023.</div>
</ix:continuation></ix:continuation>
      </div>


      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad378" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad379">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation>
      <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

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

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

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
          </div>

        </div>

      </div>


      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad379" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad380"><ix:nonNumeric name="us-gaap:IncomeTaxPolicyTextBlock" id="Text_f7d697c35bd24078803a3f7d6ab1f36c" contextRef="c20240101to20240630" escape="true" continuedAt="Text_2facf493ad314128b08715866abd0fac1">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Income Taxes</span></span>.&#160; Income taxes are estimated for each jurisdiction in which we operate.&#160;&#160;This involves assessing current
        tax exposure together with temporary differences resulting from differing treatment of items for tax and financial statement accounting purposes.&#160;&#160;Any resulting deferred tax assets are evaluated for recoverability based on estimated future taxable
        income.&#160;&#160;To the extent it is more-likely-than-not that all or a portion of a deferred tax asset will not be realized, a valuation allowance is recorded.&#160; Our evaluation regarding whether a valuation allowance is required or should be adjusted also
        considers, among other things, the nature, frequency, and severity of recent losses, forecasts of future profitability and the duration of statutory carryforward periods.</div>
</ix:nonNumeric></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad380" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad381"><ix:continuation id="Text_2facf493ad314128b08715866abd0fac1" continuedAt="Text_2facf493ad314128b08715866abd0fac2">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad381" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad382"><ix:continuation id="Text_2facf493ad314128b08715866abd0fac2" continuedAt="Text_2facf493ad314128b08715866abd0fac3">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Deferred tax assets and liabilities are measured using the enacted tax rates in effect in the years when those temporary differences are expected to reverse.&#160; The
        effect on deferred taxes from a change in tax rate is recognized through continuing operations in the period that includes the enactment date of the change.&#160; Changes in tax laws and rates could affect recorded deferred tax assets and liabilities in
        the future.</div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad382" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad383"><ix:continuation id="Text_2facf493ad314128b08715866abd0fac3" continuedAt="Text_2facf493ad314128b08715866abd0fac4">
<div><br/></div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad383" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad384"><ix:continuation id="Text_2facf493ad314128b08715866abd0fac4" continuedAt="Text_2facf493ad314128b08715866abd0fac5">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">A tax benefit from an uncertain tax position may be recognized when it is more-likely-than-not that the position will be sustained upon examination, including
        resolutions of any related appeals or litigation processes, based on the technical merits.&#160; Income tax positions must meet a more-likely-than-not recognition threshold to be recognized.</div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad384" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad385"><ix:continuation id="Text_2facf493ad314128b08715866abd0fac5" continuedAt="Text_2facf493ad314128b08715866abd0fac6">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad385" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad386"><ix:continuation id="Text_2facf493ad314128b08715866abd0fac6" continuedAt="Text_2facf493ad314128b08715866abd0fac7">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We recognize tax liabilities for uncertain tax positions and adjust these liabilities when our judgement changes as a result of the evaluation of new information not
        previously available.&#160; Due to the complexity of some of these uncertainties, the ultimate resolution may result in a payment that is materially different from the current estimate of the tax liabilities.&#160; These differences will be reflected as
        increases or decreases to income tax expense and the effective tax rate in the period in which new information becomes available.&#160; We recognize interest and/or penalties related to all tax positions in income tax expense. To the extent that accrued
        interest and penalties do not ultimately become payable, amounts accrued will be reduced and reflected as a reduction of the overall income tax provision in the period that such determination is made.</div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad386" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad387"><ix:continuation id="Text_2facf493ad314128b08715866abd0fac7" continuedAt="Text_2facf493ad314128b08715866abd0fac8">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad387" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad388"><ix:continuation id="Text_2facf493ad314128b08715866abd0fac8">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We may be subject to periodic audits by the Internal Revenue Service and other taxing authorities.&#160; These audits may challenge certain of our tax positions, such as
        the timing and amount of deductions and allocation of taxable income to the various jurisdictions.</div>
</ix:continuation></ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad388" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad389">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad389" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad390"><ix:nonNumeric name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" id="Text_8aa5b4b234694e06aa16da119be56771" contextRef="c20240101to20240630" escape="true" continuedAt="Text_7e38d30a76cc4f72be9e729555794dd01">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Stock-based compensation</span></span>.&#160; The Company&#8217;s stock-based compensation relates primarily to restricted stock unit (&#8220;RSU&#8221;)
        awards.&#160; Accounting guidance requires measurement and recognition of compensation expense at an amount equal to the grant date fair value.&#160; Compensation expense is recognized for service-based stock awards on a straight-line basis or ratably over
        the requisite service period, based on the closing price of the Company&#8217;s stock on the date of grant.&#160; The service-based awards typically vest ratably over the requisite service period, provided that the participant is employed on the vesting
        date.&#160; Compensation expense is reduced by actual forfeitures as they occur over the requisite service period of the awards.</div>
</ix:nonNumeric></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad390" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad391"><ix:continuation id="Text_7e38d30a76cc4f72be9e729555794dd01" continuedAt="Text_7e38d30a76cc4f72be9e729555794dd02">
<div><br/></div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad391" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad392"><ix:continuation id="Text_7e38d30a76cc4f72be9e729555794dd02">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Performance-based RSUs vest, if at all, upon the Company satisfying certain performance targets.&#160; The Company records compensation expense for awards with a
        performance condition when it is probable that the condition will be achieved.&#160; If the Company determines it is not probable a performance condition will be achieved, no compensation expense is recognized.&#160; If the Company changes its assessment in
        a subsequent period and concludes it is probable a performance condition will be achieved, the Company will recognize compensation expense ratably between the period of the change in assessment through the expected date of satisfying the
        performance condition for vesting.&#160; If the Company subsequently assesses that it is no longer probable that a performance condition will be achieved, the accumulated expense that has been previously recognized will be reversed.&#160; The compensation
        expense ultimately recognized, if any, related to performance-based awards will equal the grant date fair value based on the number of shares for which the performance condition has been satisfied.&#160; We issue shares from authorized shares upon the
        lapsing of vesting restrictions on RSUs.&#160; We do not use cash to settle equity instruments issued under stock-based compensation awards. The payments of the employees&#8217; tax liability for a portion of the vested shares are satisfied by withholding
        shares with a fair value equal to the tax liability.</div>
</ix:continuation></ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad392" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad393">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation>
      <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
        <div style="width: 100%;" class="BRPFPageFooter"></div>

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

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

        <div style="width: 100%;" class="BRPFPageHeader">
          <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
          </div>

        </div>

      </div>


      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad393" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad394"><ix:nonNumeric name="us-gaap:CreditLossFinancialInstrumentPolicyTextBlock" id="Text_0fe8693fd2474d8facae9f57264b2a65" contextRef="c20240101to20240630" escape="true">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Accounts Receivable - Trade and Expected Credit Losses</span></span>.&#160; Our receivables primarily arise from the sale of merchandise
        to customers that have applied for and been granted credit.&#160; Accounts receivable are stated at amounts due, net of an allowance.&#160; Accounts receivable are generally due within 30 days of invoicing.&#160; We estimate expected credit losses based on
        factors such as the composition of accounts receivable, the age of the accounts, historical bad debt experience, and our evaluation of the financial condition and past collection history of each customer.&#160; Management believes that the historical
        loss information it has compiled is a reasonable base on which to determine expected credit losses for trade receivables held at June 30, 2024, because the composition of the trade receivables at that date is consistent with that used in developing
        the historical credit-loss percentages (i.e., the similar risk characteristics of its customers and its credit practices have not changed significantly over time).&#160; Accordingly, the allowance for expected credit losses at June 30, 2024, December
        31, 2023, and January 1, 2023 each totaled less than $<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivable" id="Fact_a39c832e2f6140ffbf7a089bb48e3fb6" contextRef="c20221231" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivable" id="Fact_8160f922274e4a36851be774ca419ee5" contextRef="c20240630" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivable" id="Fact_1fcc0a3670e34649a2b61f1fe3ce255a" contextRef="c20231231" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.1</ix:nonFraction></ix:nonFraction></ix:nonFraction> million.</div>
</ix:nonNumeric></ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad394" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad395">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation>

      <ix:nonNumeric name="us-gaap:IntangibleAssetsFiniteLivedPolicy" id="Text_aea61aea53a244ec8ec68e52e0ab7446" contextRef="c20240101to20240630" escape="true"><ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad395" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad396">
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"><span style="font-style: italic;"><span style="text-decoration: underline;">Other Intangible Assets</span></span>.&#160; Our intangible assets and related accumulated amortization relate to trademarks and
        copyrights that are definite-lived intangibles and are subject to amortization.&#160; The weighted average amortization period is <ix:nonNumeric name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" id="Fact_5c96e6d9130a45d8b4adbf8a998b8cbf" contextRef="c20240101to20240630_FiniteLivedIntangibleAssetsByMajorClassAxis_IntellectualPropertyMember" format="ixt-sec:duryear">15</ix:nonNumeric> years
        for trademarks and copyrights.&#160; Amortization expense related to other intangible assets was less than $<ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" id="Fact_dcdd0da705e84708abc29a9797f67a12" contextRef="c20230101to20230630_RangeAxis_MaximumMember" unitRef="U002" decimals="-4" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" id="Fact_c1ac75d569aa4329974e7ea6d912cd6f" contextRef="c20240101to20240630_RangeAxis_MaximumMember" unitRef="U002" decimals="-4" scale="6" format="ixt:num-dot-decimal">0.01</ix:nonFraction></ix:nonFraction> million during each of
        the six months ended June 30, 2024 and 2023.&#160; Based on the current amount of intangible assets subject to amortization, we estimate amortization expense to be less than $<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" id="Fact_f01d31de6c3c472587003e03ac6ed946" contextRef="c20240630_RangeAxis_MaximumMember" unitRef="U002" decimals="-4" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" id="Fact_76b7e82f23ff4a628c7a23920f987fd9" contextRef="c20240630_RangeAxis_MaximumMember" unitRef="U002" decimals="-4" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" id="Fact_70c6dc74d445442b861a65ae7cb153ae" contextRef="c20240630_RangeAxis_MaximumMember" unitRef="U002" decimals="-4" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" id="Fact_5a67995aad3646f4b20cfa0f8504462c" contextRef="c20240630_RangeAxis_MaximumMember" unitRef="U002" decimals="-4" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" id="Fact_15b2223a7cba4eeeaaef1b2e18101a51" contextRef="c20240630_RangeAxis_MaximumMember" unitRef="U002" decimals="-4" scale="6" format="ixt:num-dot-decimal">0.01</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> million annually over the next five years. Our &#8220;Other intangible assets&#8221; is fully amortized as of June 30 2024.  </div>
</ix:continuation></ix:nonNumeric>
      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad396" continuedAt="Text_de3632dcd8f84d369ae8ab7ed6763ad397">
<div><br/>
      </div>
</ix:continuation>

      <ix:continuation id="Text_de3632dcd8f84d369ae8ab7ed6763ad397"><ix:nonNumeric name="us-gaap:ComprehensiveIncomePolicyPolicyTextBlock" id="Text_1682801bb78b4ace8c5f2da74931a983" contextRef="c20240101to20240630" escape="true">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Comprehensive Income</span></span>.&#160; Comprehensive income includes net income and certain other items that are recorded directly to
        stockholders&#8217; equity.&#160; The Company&#8217;s only source of other comprehensive income is foreign currency translation adjustments, and those adjustments are presented net of tax.</div>
</ix:nonNumeric></ix:continuation>


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

    </div>


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

    <div>
      <ix:nonNumeric name="us-gaap:DebtDisclosureTextBlock" id="Text_2e00df2c18644e6d90213398e884832a" contextRef="c20240101to20240630" escape="true" continuedAt="Text_e1b92aa577c943c3bf4950c5d24e21911">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">2. NOTES PAYABLE AND LONG-TERM DEBT</div>
</ix:nonNumeric>
      <ix:continuation id="Text_e1b92aa577c943c3bf4950c5d24e21911" continuedAt="Text_e1b92aa577c943c3bf4950c5d24e21912">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>
</ix:continuation>
      <ix:continuation id="Text_e1b92aa577c943c3bf4950c5d24e21912">
<div style="text-align: justify;"> <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;">On
          January 3, 2023, the Company entered into a credit agreement (the &#8220;Credit Agreement&#8221;) with JPMorgan Chase Bank, N.A.&#160; Under the Credit Agreement, the bank will provide the Company a credit facility of up to $<ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" id="Fact_58231609d6b042b79c4d00efb05dbec6" contextRef="c20230103_LineOfCreditFacilityAxis_JPMorganChaseBankNAMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">5,000,000</ix:nonFraction> on standard terms and conditions, including affirmative and negative covenants set forth in the Credit Agreement.&#160; As security for the
          credit facility, the Company has pledged as collateral certain of its assets, including the Company&#8217;s cash in deposit accounts, inventory and equipment.&#160; As of the date of this filing, <ix:nonFraction name="us-gaap:ProceedsFromLinesOfCredit" id="Fact_c5f1e665eb224075be3360f2e8e98d15" contextRef="c20240101to20240630_LineOfCreditFacilityAxis_JPMorganChaseBankNAMember" unitRef="U002" decimals="0" scale="0" format="ixt-sec:numwordsen">no</ix:nonFraction> funds had been borrowed under this facility.</span>  <br/>
      </div>
</ix:continuation>
      <div> <br/>
      </div>

    </div>


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

    <div>
      <div>
        <ix:nonNumeric name="us-gaap:IncomeTaxDisclosureTextBlock" id="Text_4562bace87dd40deb127034024eac5af" contextRef="c20240101to20240630" escape="true" continuedAt="Text_7c3c0e4176384273b108c40f7f3f925f1">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">3.&#160; INCOME TAX</div>
</ix:nonNumeric>
        <ix:continuation id="Text_7c3c0e4176384273b108c40f7f3f925f1" continuedAt="Text_7c3c0e4176384273b108c40f7f3f925f2">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_7c3c0e4176384273b108c40f7f3f925f2">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Our effective tax rate for the three months ended June 30, 2024 and 2023 was <ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" id="Fact_1a5b9236baf848499c8a877a0bd57a63" contextRef="c20240401to20240630" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">32.9</ix:nonFraction>% and <ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" id="Fact_131983c397b94abfa82a89526bd89eb0" contextRef="c20230401to20230630" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">32.9</ix:nonFraction>%, respectively.&#160; Our<span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; 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: justify; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"> effective
            tax rate for the six months ended June 30, 2023 and 2022 was <ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" id="Fact_ec1e60dd57204e1aa48ef3a6769042da" contextRef="c20230101to20230630" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">26.9</ix:nonFraction>% and <ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" id="Fact_65a5d07967914f4aacb42bd800fb1a36" contextRef="c20220101to20220630" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">31.1</ix:nonFraction>%, respectively. Our</span> effective tax rate differs from the federal statutory rate primarily due to U.S. state income tax expense, expenses that are nondeductible
          for tax purposes, the change in our valuation allowance associated with our deferred tax assets, and differences in tax rates in foreign jurisdictions.</div>
</ix:continuation>

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

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

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

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

          <div style="width: 100%;" class="BRPFPageHeader">
            <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
            </div>

          </div>

        </div>

      </div>

    </div>


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

    <div>
      <div>
        <ix:nonNumeric name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="Text_355f7a53e79a42c4a2d022fa2be74c34" contextRef="c20240101to20240630" escape="true" continuedAt="Text_1264393b1f8d4900b4f7166f157866871">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">4.&#160; STOCK-BASED
          COMPENSATION</div>
</ix:nonNumeric>
        <ix:continuation id="Text_1264393b1f8d4900b4f7166f157866871" continuedAt="Text_1264393b1f8d4900b4f7166f157866872">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_1264393b1f8d4900b4f7166f157866872" continuedAt="Text_1264393b1f8d4900b4f7166f157866873">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The Tandy Leather Factory, Inc. 2013 Restricted Stock Plan (the &#8220;2013 Plan&#8221;) was adopted by our Board of Directors in January 2013 and approved by our stockholders
          in June 2013.&#160; The 2013 Plan initially reserved up to <ix:nonFraction name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" id="Fact_b79530392a1c4ec09082a41122df70cc" contextRef="c20130131_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember_RangeAxis_MaximumMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">300,000</ix:nonFraction> shares for restricted stock and restricted stock unit (&#8220;RSU&#8221;) awards to
          our executive officers, non-employee directors and other key employees.&#160; In June 2020, our stockholders approved an increase to the plan reserve to <ix:nonFraction name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" id="Fact_7c1023aa796b4630894aaabf81177472" contextRef="c20200630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">800,000</ix:nonFraction>
          shares of our common stock and extended the 2013 Plan to June 2023. Awards granted under the 2013 Plan may be service-based awards or performance-based awards, and may be subject to a graded vesting schedule with a minimum vesting period of <ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Fact_d20aae6a37604806b0f01c38d2fae920" contextRef="c20240101to20240630_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_RangeAxis_MinimumMember" format="ixt-sec:durwordsen">four years</ix:nonNumeric>, unless otherwise determined by the Compensation Committee of the Board of Directors that administers the plan. All shares remaining
          ungranted under the 2013 Plan were cancelled upon the adoption of the 2023 Plan described below.<br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_1264393b1f8d4900b4f7166f157866873" continuedAt="Text_1264393b1f8d4900b4f7166f157866874">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; 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;">The Tandy Leather Factory, Inc. 2023 Incentive Stock Plan (the &#8220;2023
            Plan&#8221; and, together with the 2013 Plan, the &#8220;Plans&#8221;) was adopted by our Board of Directors in April 2023 and approved by our stockholders in June 2023. The 2023 Plan initially reserved up to <ix:nonFraction name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" id="Fact_f589ed042cd6469aaaf8b7a929841474" contextRef="c20230430_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_RangeAxis_MaximumMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">800,000</ix:nonFraction> shares of our common stock for a variety of equity awards (including, but not limited to, RSUs, the only type of awards that have been granted to date) to our
            executive officers, non-employee directors and other key employees. <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;">In June 2023, as part of their annual director compensation, certain of our non-employee directors were granted a total of <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" id="Fact_721359d578a741619e13a1d0fa5c0abb" contextRef="c20230601to20230630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_NonEmployeeDirectorMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">12,993</ix:nonFraction> service-based RSUs under the 2023 Plan, which will vest ratably over the next <ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Fact_261eff8059714299a7d41dd830438c82" contextRef="c20240101to20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_NonEmployeeDirectorMember" format="ixt-sec:durwordsen">four years</ix:nonNumeric>,
              subject to each participant&#8217;s continued service on the board as of each vesting date. </span></span><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;">In October 2023, the Company granted to Ms. Carr a total of <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" id="Fact_9beb2877f2954544bcbb1f83f82e8f35" contextRef="c20231001to20231031_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">276,000</ix:nonFraction>
            service-based RSUs under the 2023 Plan, which will vest ratably over the next <ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Fact_4221583b9e874a3f8af7db5e1d8479f3" contextRef="c20240101to20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember" format="ixt-sec:durwordsen">three years</ix:nonNumeric>, subject to Ms. Carr&#8217;s continued
            employment as of each vesting date.&#160; In March 2024, the Company granted to certain employees other than Ms. Carr a total of <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" id="Fact_4f830db49c324c51bd270f161a33e2e0" contextRef="c20240301to20240331_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">59,649</ix:nonFraction>
            RSUs under the 2023 Plan, which will vest ratably over the next <ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Fact_0bad3c0054e247759d8040228a77396d" contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember" format="ixt-sec:durwordsen">three years</ix:nonNumeric>, subject to the recipients&#8217; continued employment as of
            each vesting date. In June 2024, the Company granted <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" id="Fact_6cab77635f1044b582d15e22608bf8f1" contextRef="c20240601to20240630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">14,000</ix:nonFraction> shares to various members of the Board of Directors, which will vest
            ratably over the next <ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Fact_f6107dff49ea4924a0bdce677f50b20d" contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember" format="ixt-sec:durwordsen">four years</ix:nonNumeric>.</span> </div>
</ix:continuation><ix:nonNumeric name="us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" id="Text_1b874e2d00e24dae9d8ba68878f7cb6b" contextRef="c20240101to20240630" escape="true" continuedAt="Text_b954644755474e809785710e38f9fea11"><ix:continuation id="Text_1264393b1f8d4900b4f7166f157866874" continuedAt="Text_1264393b1f8d4900b4f7166f157866875">
<div><br/>

        </div>
</ix:continuation></ix:nonNumeric>
        <div> <ix:continuation id="Text_b954644755474e809785710e38f9fea11" continuedAt="Text_b954644755474e809785710e38f9fea12"><ix:continuation id="Text_1264393b1f8d4900b4f7166f157866875" continuedAt="Text_1264393b1f8d4900b4f7166f157866876">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;">A summary of the activity for non-vested restricted stock and RSU awards as of June 30, 2024 is presented below: </span></div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_b954644755474e809785710e38f9fea12" continuedAt="Text_b954644755474e809785710e38f9fea13"><ix:continuation id="Text_1264393b1f8d4900b4f7166f157866876" continuedAt="Text_1264393b1f8d4900b4f7166f157866877">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_b954644755474e809785710e38f9fea13"><ix:continuation id="Text_1264393b1f8d4900b4f7166f157866877" continuedAt="Text_1264393b1f8d4900b4f7166f157866878">
<table cellspacing="0" cellpadding="0" border="0" class="cfttable" style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Shares</div>
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">(in thousands)</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Weighted</div>
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Average</div>
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Share Price </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="text-align: left; vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="text-align: left; vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF; white-space: nowrap;">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Balance, January 1, 2024</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" id="Fact_61fbac2c34ef4bae80b97412505da9d5" contextRef="c20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">623</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" id="Fact_9246d0fd24754457a0e87fc9f85ccdf3" contextRef="c20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">5.12</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; white-space: nowrap;">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Granted</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" id="Fact_f870430eb53e487cad2292090129a0f7" contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">74</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" id="Fact_74955e72d410407494e5546a458f1c53" contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.85</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF; white-space: nowrap;">Forfeited </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" id="Fact_7368c5f1030e43e49671fe056bf0aa00" contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">6</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">)</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" id="Fact_aee51bdd187549fda27d4312b0e9b276" contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">5.00</ix:nonFraction><br/>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Vested</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" id="Fact_a701aea83f1247de8dbd831eda762603" contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">23</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" id="Fact_5ebd4d6b1ea54989b155597b854d8e06" contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">4.73</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-weight: bold;">Balance, <span style="text-indent: 0pt;">June 30</span>, <span style="text-indent: 0pt;">2024</span></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" id="Fact_96926bc693c142b4b8cb820c2811d6a6" contextRef="c20240630_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">714</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" id="Fact_1ad13a79c0d94a079515e553c7bd5668" contextRef="c20240630_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">4.38</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>

          <ix:continuation id="Text_1264393b1f8d4900b4f7166f157866878" continuedAt="Text_1264393b1f8d4900b4f7166f157866879">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </div>
</ix:continuation>
          <ix:continuation id="Text_1264393b1f8d4900b4f7166f157866879" continuedAt="Text_1264393b1f8d4900b4f7166f1578668710">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The Company&#8217;s stock-based compensation relates primarily to RSU awards.&#160; <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; 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: justify; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">For these service-based
              awards, our stock-based compensation expense, included in operating expenses, was $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" id="Fact_0046d9daff6a4f61a100def092c2eade" contextRef="c20240401to20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.2</ix:nonFraction> million and $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" id="Fact_dfb556f2a4f044c68899da1e9ffcdc03" contextRef="c20230401to20230630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.2</ix:nonFraction> million for the three months and $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" id="Fact_204ae389efba448780bb74ad6dc9194d" contextRef="c20240101to20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.4</ix:nonFraction>
              million and $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" id="Fact_74da27209228484ca56c4705e05db6e7" contextRef="c20230101to20230630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.4</ix:nonFraction> million for the six months ended June 30, 2024 and 2023, respectively.</span></div>
</ix:continuation>
          <ix:continuation id="Text_1264393b1f8d4900b4f7166f1578668710" continuedAt="Text_1264393b1f8d4900b4f7166f1578668711">
<div><br/></div>
</ix:continuation>
          <ix:continuation id="Text_1264393b1f8d4900b4f7166f1578668711" continuedAt="Text_1264393b1f8d4900b4f7166f1578668712">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">As of June 30, 2024, the Company has concluded it is not probable that the performance conditions related to performance-based RSUs granted to our CEO in October
            2018 will be achieved, and as a result <ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" id="Fact_1ad2a2f35bb94e2bb995cf59ebe3c082" contextRef="c20240101to20240630_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember" unitRef="U002" decimals="-6" scale="6" format="ixt-sec:numwordsen">no</ix:nonFraction> compensation expense related to performance-based RSUs has been recorded.</div>
</ix:continuation>
          <ix:continuation id="Text_1264393b1f8d4900b4f7166f1578668712" continuedAt="Text_1264393b1f8d4900b4f7166f1578668713">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </div>
</ix:continuation>
          <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="width: 100%;" class="BRPFPageFooter"></div>

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

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

            <div style="width: 100%;" class="BRPFPageHeader">
              <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
              </div>

            </div>

          </div>


          <ix:continuation id="Text_1264393b1f8d4900b4f7166f1578668713" continuedAt="Text_1264393b1f8d4900b4f7166f1578668714"><ix:nonNumeric name="us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" id="Text_b39d00721926460fb096054641622688" contextRef="c20240101to20240630" escape="true" continuedAt="Text_1945d457f2514a019efd4e3698feff781">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">As of June 30, 2024, there was unrecognized compensation cost related to non-vested, service-based RSU awards of $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" id="Fact_56228c3c51f34dd0a6904f2b72837f67" contextRef="c20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">1.4</ix:nonFraction> million, which will be recognized in each of the following years (dollars in thousands):</div>
</ix:nonNumeric></ix:continuation>
          <ix:continuation id="Text_1264393b1f8d4900b4f7166f1578668714" continuedAt="Text_1264393b1f8d4900b4f7166f1578668715"><ix:continuation id="Text_1945d457f2514a019efd4e3698feff781" continuedAt="Text_1945d457f2514a019efd4e3698feff782">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_1264393b1f8d4900b4f7166f1578668715" continuedAt="Text_1264393b1f8d4900b4f7166f1578668716"><ix:continuation id="Text_1945d457f2514a019efd4e3698feff782">
<table cellspacing="0" cellpadding="0" border="0" class="cfttable" style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-style: normal; font-weight: bold; text-align: center;">Unrecognized Expense</div>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-align: left; width: 88%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0); text-align: center;">2024</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="tlfa:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" id="Fact_1883359742824974b84896f1ca7694d2" contextRef="c20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">324</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-align: left; width: 88%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0); text-align: center;">2025</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="tlfa:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" id="Fact_c1cf12bccd684502b8a36f214e188142" contextRef="c20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">564</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-align: left; width: 88%; background-color: rgb(204, 238, 255); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0); text-align: center;">2026</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="tlfa:EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" id="Fact_2a98c1776e3343cbade94c0e8e9649fa" contextRef="c20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">419</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-align: left; width: 88%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0); text-align: center;">2027</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="tlfa:EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" id="Fact_9e009ec0d1054a4695dead9581f76f5b" contextRef="c20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">37</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-align: center; width: 88%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" rowspan="1">2028<br/>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" rowspan="1">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" rowspan="1">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" rowspan="1"><ix:nonFraction name="tlfa:EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" id="Fact_c522c976544b4e73825c9b2bfc26e07c" contextRef="c20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">6</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" rowspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-align: left; width: 88%; padding-bottom: 4px; white-space: nowrap;"/>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;"><ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" id="Fact_8b923900eca74cf1a7b84f3f60762f4c" contextRef="c20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,350</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>

          <ix:continuation id="Text_1264393b1f8d4900b4f7166f1578668716" continuedAt="Text_1264393b1f8d4900b4f7166f1578668717">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </div>
</ix:continuation>
          <ix:continuation id="Text_1264393b1f8d4900b4f7166f1578668717">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We issue shares from authorized shares upon the lapsing of vesting restrictions on restricted stock and RSUs.&#160; For the six months ended June 30, 2024 and 2023, we
            issued <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" id="Fact_45cab5533c864c9ba77f632d0e756bca" contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockUnitsRSUMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">23,301</ix:nonFraction> and <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" id="Fact_534fe63076554c2ca50376521964d971" contextRef="c20230101to20230630_AwardTypeAxis_RestrictedStockUnitsRSUMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">39,199</ix:nonFraction>
            shares, respectively, resulting from the vesting of RSUs. We do not use cash to settle equity instruments issued under stock-based compensation awards. The payment of the employees&#8217; tax liability for a portion of the vested shares may be
            satisfied by withholding shares with a fair value equal to the tax liability.<br/>
          </div>
</ix:continuation>

          <div><br/>
          </div>

        </div>

      </div>

    </div>


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

    <!--PROfilePageNumberReset%Num%15%%%-->
    <div>
      <div>
        <ix:nonNumeric name="us-gaap:EarningsPerShareTextBlock" id="Text_acfbf907dc9a4365a3b92acc6b020154" contextRef="c20240101to20240630" escape="true" continuedAt="Text_a5d0daff6a5d42adbf2c5bd5799b757a1">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">5.&#160; EARNINGS PER SHARE</div>
</ix:nonNumeric>
        <ix:continuation id="Text_a5d0daff6a5d42adbf2c5bd5799b757a1" continuedAt="Text_a5d0daff6a5d42adbf2c5bd5799b757a2">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_a5d0daff6a5d42adbf2c5bd5799b757a2" continuedAt="Text_a5d0daff6a5d42adbf2c5bd5799b757a3">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Basic earnings per share (&#8220;EPS&#8221;) are computed based on the weighted average number of common shares outstanding during the period.&#160; Diluted EPS includes additional
          common shares that would have been outstanding if potential common shares with a dilutive effect, such as stock awards from the Company&#8217;s restricted stock plan, had been issued.&#160; Anti-dilutive securities represent potentially dilutive securities
          which are excluded from the computation of diluted EPS as their impact would be anti-dilutive.&#160; Diluted EPS is computed using the treasury stock method.</div>
</ix:continuation>
        <ix:continuation id="Text_a5d0daff6a5d42adbf2c5bd5799b757a3" continuedAt="Text_a5d0daff6a5d42adbf2c5bd5799b757a4">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>
</ix:continuation>

        <ix:continuation id="Text_a5d0daff6a5d42adbf2c5bd5799b757a4" continuedAt="Text_a5d0daff6a5d42adbf2c5bd5799b757a5"><ix:nonNumeric name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="Text_49450c94620048419b8596d1c8970280" contextRef="c20240101to20240630" escape="true" continuedAt="Text_cc61636646204a2aaa4537a2cd284d151">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The following table sets forth the computation of basic and diluted EPS for the three and six months ended June 30, 2024 and 2023:</div>
</ix:nonNumeric></ix:continuation>
        <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
          <ix:continuation id="Text_a5d0daff6a5d42adbf2c5bd5799b757a5" continuedAt="Text_a5d0daff6a5d42adbf2c5bd5799b757a6"><ix:continuation id="Text_cc61636646204a2aaa4537a2cd284d151" continuedAt="Text_cc61636646204a2aaa4537a2cd284d152">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          </div>
</ix:continuation></ix:continuation>
          <ix:continuation id="Text_a5d0daff6a5d42adbf2c5bd5799b757a6"><ix:continuation id="Text_cc61636646204a2aaa4537a2cd284d152">
<table cellspacing="0" cellpadding="0" border="0" class="cfttable" style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;">


  <tr>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;"/>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Three Months Ended June 30,</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="6" rowspan="1" style="vertical-align: bottom; text-align: center; border-bottom: #000000 solid 2px; white-space: nowrap;"><span style="font-weight: bold;">Six Months Ended June 30,</span><br/>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-style: italic;">(in thousands, except share data)</div>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; border-bottom: #000000 solid 2px;">
                  <div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;">2024<br/>
                  </div>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; border-bottom: #000000 solid 2px;">
                  <div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;">2023<br/>
                  </div>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; border-bottom: #000000 solid 2px;">
                  <div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;">2024<br/>
                  </div>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; border-bottom: #000000 solid 2px; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;">2023<br/>
                  </div>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; font-weight: bold;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; font-weight: bold;">Numerator:</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;">
                  <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Net income <br/>
                  </div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_2dd28459adaa48159c205089365ca000" contextRef="c20240401to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">101</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_c0c7466a85844cbf9d95aa924230838b" contextRef="c20230401to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">531</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);">$</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_6d06b85bad554d138b667ba02701306f" contextRef="c20240101to20240630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">626</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;">$</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_270312c9a365462b84a3fb887e2a25e1" contextRef="c20230101to20230630" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,195</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

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

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-weight: bold;">Denominator:</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
                  <div style="color: rgb(0, 0, 0); text-indent: -9pt; margin-left: 9pt;">Basic weighted-average common shares outstanding</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_b232cce3e115447f991ae418d36cc650" contextRef="c20240401to20240630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,415,795</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_7821d5c1728f45b99c9c020ed91eb6ee" contextRef="c20230401to20230630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,327,178</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_63da047c52db4638a3da0ad6f8397017" contextRef="c20240101to20240630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,406,156</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_8f142d0f73084a2590ea43c49cde1be0" contextRef="c20230101to20230630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,315,214</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
                  <div style="text-indent: -9pt; margin-left: 9pt;">Dilutive effect of service-based restricted stock awards granted to Board of Directors under the Plan<br/>
                  </div>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" id="Fact_0f469abcef044db6950becb1c7bcd73a" contextRef="c20240401to20240630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,330</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" id="Fact_45f49d56b01d40eb982139a22937b33b" contextRef="c20230401to20230630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">7,156</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" id="Fact_fe49efd1f6b24f2da90ae222dc548c1c" contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">596</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" id="Fact_028a77ddc1b34e77a0fe04dcfdfc705e" contextRef="c20230101to20230630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">367</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 52%; padding-bottom: 2px;">
                  <div style="text-indent: -9pt; margin-left: 9pt;">Dilutive effect of service-based restricted stock awards granted to employees under the Plan<br/>
                  </div>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" id="Fact_c55e58c3c4cb4c8bad5ca1cb8815b737" contextRef="c20240401to20240630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">80,943</ix:nonFraction><br/>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" id="Fact_1a790c52bc3240ba9305dc25a6837a82" contextRef="c20230401to20230630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">32,570</ix:nonFraction><br/>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" id="Fact_4f8840f208694a04abc80aa602fcee6c" contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">60,404</ix:nonFraction><br/>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" id="Fact_127d700c04da4ead93439e1e3952c305" contextRef="c20230101to20230630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">14,388</ix:nonFraction><br/>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;">
                  <div style="color: rgb(0, 0, 0); text-indent: -9pt; margin-left: 9pt;">Diluted weighted-average common shares outstanding</div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_ab537f4f4c404b7a80322e26308cf24c" contextRef="c20240401to20240630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,505,068</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;">
                  <div style="color: rgb(0, 0, 0);"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_6dd2c6615679479582e284af272e6ce0" contextRef="c20230401to20230630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,366,904</ix:nonFraction></div>
                </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_36478830540a4ec8ba88bb50122aad5e" contextRef="c20240101to20240630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,467,156</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_37cb9239564b4311b4d2809f2ba5a301" contextRef="c20230101to20230630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">8,329,969</ix:nonFraction></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 52%;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;">
                  <div style="text-indent: -9pt; margin-left: 9pt;">Basic earnings per share <br/>
                  </div>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;"><br/>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_d7f704a40f4a4a80ba75b9f4df49676e" contextRef="c20240401to20240630" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.01</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;"><br/>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_b7ac8eaee1964a468bdf06b8328cc976" contextRef="c20230401to20230630" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.06</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_545579b32fa94a7caf32c43432cde56e" contextRef="c20240101to20240630" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.07</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_f465fb62915345908c0b0a0b60f64979" contextRef="c20230101to20230630" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.14</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 52%; padding-bottom: 4px;">
                  <div style="margin-left: 9pt; text-indent: -9pt;">Diluted earnings per share <br/>
                  </div>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;"><br/>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_b71f5db6a91346ddab4b8d5159b83dd8" contextRef="c20240401to20240630" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.01</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;"><br/>
                </td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_af7421995fba4f3d89bd1523fea3249e" contextRef="c20230401to20230630" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.06</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_d3bf46e184234b698abc3640101369d0" contextRef="c20240101to20240630" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.07</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_48b96a0b23b845228ab2316f56c997d4" contextRef="c20230101to20230630" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.14</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>

          <div><br/>
          </div>

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

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

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

            <div style="width: 100%;" class="BRPFPageHeader">
              <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
              </div>

            </div>

          </div>

        </div>

      </div>

    </div>


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

    <!--PROfilePageNumberReset%Num%15%%%-->
    <div>
      <div>
        <ix:nonNumeric name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="Text_7489146fd61c4f6eaee00c250001f24a" contextRef="c20240101to20240630" escape="true" continuedAt="Text_87b9e8cc257042efacf4eda25e6c8c631">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">6.&#160; COMMITMENTS AND CONTINGENCIES</div>
</ix:nonNumeric>
        <ix:continuation id="Text_87b9e8cc257042efacf4eda25e6c8c631" continuedAt="Text_87b9e8cc257042efacf4eda25e6c8c632">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_87b9e8cc257042efacf4eda25e6c8c632" continuedAt="Text_87b9e8cc257042efacf4eda25e6c8c633">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">Legal Proceedings</div>
</ix:continuation>
        <ix:continuation id="Text_87b9e8cc257042efacf4eda25e6c8c633" continuedAt="Text_87b9e8cc257042efacf4eda25e6c8c634">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_87b9e8cc257042efacf4eda25e6c8c634">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We are periodically involved in litigation that arises in the ordinary course of business and operations.&#160; There are no such matters pending that we expect to have a
          material impact on our financial position or operating results.&#160; Legal costs associated with the resolution of claims, lawsuits and other contingencies are expensed as incurred.</div>
</ix:continuation>

        <div><br/>
        </div>

      </div>

    </div>


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

    <!--PROfilePageNumberReset%Num%16%%%-->
    <div>
      <div>
        <ix:nonNumeric name="tlfa:ShareRepurchaseProgramAndShareRepurchasesTextBlock" id="Text_a41e88e2bd524f47863e75928f9c401f" contextRef="c20240101to20240630" escape="true" continuedAt="Text_98e11e34081240a1bf3bb525e68af4cd1">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">7.&#160; SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES</div>
</ix:nonNumeric>
        <ix:continuation id="Text_98e11e34081240a1bf3bb525e68af4cd1" continuedAt="Text_98e11e34081240a1bf3bb525e68af4cd2">
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </div>
</ix:continuation>
        <ix:continuation id="Text_98e11e34081240a1bf3bb525e68af4cd2">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">On August 8, 2022, the Board of Directors approved a new program to repurchase up to $<ix:nonFraction name="srt:StockRepurchaseProgramAuthorizedAmount1" id="Fact_43f244beae764cfc9f8ddc29002377f4" contextRef="c20220808_RangeAxis_MaximumMember" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">5.0</ix:nonFraction> million of the Company&#8217;s common stock between that date and August 31, 2024.&#160; As of June 30, 2024, $<ix:nonFraction name="us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" id="Fact_97819d24016b4e78b7bcb84f4a3292fc" contextRef="c20240630" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">5.0</ix:nonFraction> million remained available for repurchase under this new program.</div>
</ix:continuation>

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

        <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
          <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">15</span></div>

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

          <div style="width: 100%;" class="BRPFPageHeader">
            <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
            </div>

          </div>

        </div>

        <!--PROfilePageNumberReset%Num%19%%%--> </div>

    </div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000;">
  <hr style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"/>
  <div>
    <div>
      <a id="ManagementsDiscussionandA"><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 45pt; white-space: nowrap;">
              <div style="text-align: left; font-weight: bold;">Item 2.<br/>
              </div>
            </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
              <div style="font-weight: bold;">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations.</div>
            </td>

  </tr>


</table>
    </div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-weight: bold;"><span style="text-decoration: underline;">The Business and Strategy</span></div>

    <div><br/>
    </div>

    <div style="text-align: justify;">Tandy Leather Factory, Inc. is one of the world&#8217;s largest specialty retailers of leather and leathercraft-related items.&#160; Founded in 1919 in Fort Worth, Texas, and organized in 2005 as a Delaware corporation, the
      Company introduced leathercrafting to millions of American and later Canadian and other international customers and has built a track record as the trusted source of quality leather, tools, hardware, supplies, kits and teaching materials for
      leatherworkers everywhere.&#160; Today, our mission remains to build on our legacy of inspiring the timeless art and trade of leatherworking.</div>

    <div>&#160;</div>

    <div style="text-align: justify;">What differentiates Tandy from the competition is our high brand awareness and strong brand equity and loyalty, our network of retail stores that provides convenience, a high-touch customer service experience, and a
      hub for the local leathercrafting community, and our 100-year heritage.&#160; We believe that this combination of qualities is unique to Tandy and gives the brand competitive advantages that are difficult for others to replicate.</div>

    <div>&#160;</div>

    <div style="text-align: justify;">We sell our products primarily through company-owned stores and through orders generated from our global websites, and through direct account representatives in our commercial division.&#160; We also manufacture leather
      lace, cut leather pieces and most of the do-it-yourself kits that are sold in our stores and on our websites.&#160; We also offer production services to our business customers such as cutting (&#8220;clicking&#8221;), splitting, and some assembly. We maintain our
      principal offices at 1900 Southeast Loop 820, Fort Worth, Texas 76140.</div>

    <div>&#160;</div>

    <div>
      <div style="text-align: justify;">Currently, the Company operates a total of 101 retail stores.&#160; There are 91 stores in the United States (&#8220;U.S,&#8221;), ten stores in Canada and one store in Spain.</div>

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

    </div>

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">16</span></div>

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

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
        </div>

      </div>

    </div>

    <div style="text-align: justify;">Tandy Leather has been introducing people to leatherworking for over 100 years.&#160; Our stores have been and continue to be our competitive advantage: where our consumers learn the craft in classes, open table, and from
      the expertise of our store staff, where they can touch, feel and test the product, and where they can connect and commune with others passionate about leather.&#160; Our websites provide inspiration, detailed product descriptions and specifications,
      educational information and videos, and a convenient place to also purchase product &#8211; especially for those who are far from our retail stores, including a growing international customer base.&#160; For many of our retail and web customers, leatherworking
      evolves from a passion to a trade.&#160; Our Commercial Division is tailored to the needs of those customers who build businesses around leather.&#160; With dedicated direct account representatives, a direct-from-our-warehouse shipping model, bulk and
      volume-based competitive pricing, customized product development, and production and pre-production services, we are building long-term, strategic relationships with our largest customers.</div>

    <div>&#160;</div>

    <div style="text-align: justify;">In 2019, with the arrival of a new management team, we began the process of assessing and reinvigorating the business.&#160; We focused in three broad strategic initiative areas: 1) improving our brand proposition, 2)
      rebuilding our foundation: the talent, processes, tools and systems needed to modernize and efficiently operate the business, and 3) creating a vision and road map for long-term growth.&#160; We had significant achievements in all of these areas including
      significantly improving the product quality, breadth of assortment and value, dramatically improving the website and web operations, rebuilding the team, people policies and culture, and replacing all of the key systems, among many other
      accomplishments.</div>

    <div>&#160;</div>

    <div style="text-align: justify;">We made this steady progress to transform and reinvigorate our business even in the face of two very significant obstacles: a financial restatement and COVID-19.&#160; With those obstacles behind us, we have been focused on
      improving our financial sustainability and profitability.&#160; In the short-term, we are managing operating expenses and gross margin to deliver free operating cash and operating income even in the face of possible continued economic headwinds.&#160; We will
      also continue to selectively invest in profitable sales growth where it makes sense, but rebuilding a durable, profitable business model is the highest priority.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-weight: bold;"><span style="text-decoration: underline;">Critical Accounting Policies</span></div>

    <div><br/>
    </div>

    <div style="text-align: justify;">A description of our critical accounting policies appears in Item 7 &#8220;Management&#8217;s Discussions and Analysis of Financial Condition and Results of Operations&#8221; in our annual report on Form 10-K for the year ended December
      31, 2023.</div>

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

    <div style="text-align: justify;"><span style="font-weight: bold;">Revenue Recognition</span>. Our revenue is earned from sales of merchandise and generally occurs via three methods: (1) at the store counter, (2) via web sales, and (3) sales of product
      directly to commercial customers. We recognize revenue when we satisfy the performance obligation of transferring control of product merchandise over to a customer. At the store counter, our performance obligation is met, and revenue is recognized
      when a sales transaction occurs with a customer. When merchandise is shipped to a customer, our performance obligation is met, and revenue is recognized when control passes to the customer. Shipping terms are normally free on board (&#8220;FOB&#8221;) shipping
      point and control passes when the merchandise is shipped to the customer. Sales tax and comparable foreign tax are excluded from net sales, while shipping charged to our customers is included in net sales. Net sales are based on the amount of
      consideration that we expect to receive, reduced by estimates for future merchandise returns.</div>

    <div>&#160;</div>

    <div style="text-align: justify;">The sales return allowance is based each year on historical customer return behavior and other known factors and reduces net sales and cost of sales, accordingly. The sales return allowance included in accrued expense
      and other liabilities was $0.2 million, $0.1 million, and $0.2 million as of June 30, 2024, December 31, 2023, and January 1, 2023. The estimated value of merchandise expected to be returned included in other current assets was less than $0.1 million
      as of June 30, 2024, December 31, 2023, and January 1, 2023.</div>

    <div>&#160;</div>

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">17</span></div>

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

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
        </div>

      </div>

    </div>

    <div style="text-align: justify;">We record a gift card liability for the unfulfilled performance obligation on the date we issue a gift card to a customer. We record revenue and reduce the gift card liability as the customer redeems the gift card. In
      addition, for gift card breakage, we recognize a proportionate amount for the expected unredeemed gift cards over the expected customer redemption period, which is one year. As of June 30, 2024, December 31, 2023 and January1, 2023, our gift card
      liability, included in accrued expenses and other liabilities, was $0.1 million, $0.3 million and $0.3 million, respectively. We recognized gift card revenue of $0.2 million for the six months ended June 30, 2024 and 2023.</div>

    <div>&#160;</div>

    <div style="text-align: justify;">For the three months ended June 30, 2024 and 2023, we recognized $0.1 million and $0.2 million respectively in net sales associated with gift cards.</div>

    <div><br/>
    </div>

    <div style="text-align: justify;">For the six months ended June 30, 2024 and 2023, we recognized $0.2 million and $0.3 million respectively in net sales associated with gift cards.</div>

    <div>&#160;</div>

    <div style="text-align: justify;"><span style="font-weight: bold;">Inventory.</span>&#160; Inventory is stated at the lower of first-in, first-out (&#8220;FIFO&#8221;) cost or net realizable value, and FIFO layers are maintained at the location level.&#160; Finished goods
      held for sale includes the cost of merchandise purchases, the costs to bring the merchandise to our Texas distribution center, warehousing and handling expenditures, and distributing and delivering merchandise to our stores.&#160; These costs include
      depreciation of long-lived assets utilized in acquiring, warehousing and distributing inventory.&#160; Manufacturing inventory including raw materials and work-in-process is valued on a FIFO basis using full absorption accounting which includes material,
      labor, and other applicable manufacturing overhead.&#160; Carrying values of inventory are analyzed and, to the extent that the cost of inventory exceeds the net realizable value, provisions are made to reduce the carrying amount of the inventory.</div>

    <div>&#160;</div>

    <div style="text-align: justify;">We regularly review all inventory items to determine if there are (i) damaged goods (e.g., for leather, excessive scars or damage from ultra-violet (&#8220;UV&#8221;) light), (ii) items that need to be removed from our product
      line (e.g., slow-moving items, inability of a supplier to provide items of acceptable quality or quantity, and to maintain freshness in the product line) and (iii) pricing actions that need to be taken to adequately value our inventory at the lower
      of FIFO cost or net realizable value.</div>

    <div>&#160;</div>

    <div style="text-align: justify;">Since the determination of net realizable value of inventory involves both estimation and judgement with regard to market values and reasonable costs to sell, differences in these estimates could result in ultimate
      valuations that differ from the recorded asset.</div>

    <div>&#160;</div>

    <div style="text-align: justify;">The majority of inventory purchases and commitments are made in U.S. dollars in order to limit the Company&#8217;s exposure to foreign currency fluctuations.&#160; Goods shipped to us are recorded as inventory owned by us when
      the risk of loss shifts to us from the supplier.&#160; Inventory is physically counted twice annually in the Texas distribution center.&#160; At the store level, inventory is physically counted each quarter.&#160; Inventory is then adjusted in our accounting system
      to reflect actual count results.</div>

    <div>&#160;</div>

    <div style="text-align: justify;"><span style="font-weight: bold;">Leases.</span>&#160; We lease real estate for our retail store locations and may lease warehouse equipment for our Texas distribution center under long-term lease agreements; however, as of
      the end of June 30, 2024, we did not have any warehouse equipment leases.&#160; We determine if an arrangement is a lease at inception and recognize right-of-use (&#8220;ROU&#8221;) assets and lease liabilities at commencement date based on the present value of the
      lease payments over the lease term.&#160; We elected not to record leases with an initial term of 12 months or less on the balance sheet for all our asset classes.</div>

    <div>&#160;</div>

    <div style="text-align: justify;">For operating leases, the present value of our lease liabilities may include: (1) rental payments adjusted for inflation or market rates, and (2) lease terms with options to renew the lease or options to purchase
      leased equipment, when it is reasonably certain we will exercise such an option.&#160; The exercise of lease renewal or purchase option is generally at our discretion.&#160; Payments based on a change in an index or market rate are not considered in the
      determination of lease payments for purposes of measuring the related lease liability.&#160; We discount lease payments using our incremental borrowing rate based on information available as of the measurement date.</div>

    <div>&#160;</div>

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">18</span></div>

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

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
        </div>

      </div>

    </div>

    <div style="text-align: justify;">We recognize rent expense related to our operating leases assets on a straight-line basis over the lease term. Rent expense is recorded in operating expenses.</div>

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

    <div style="text-align: justify;">For finance leases, our right-of-use assets are amortized on a straight-line basis over the earlier of the useful life of the right-of-use asset or the end of the lease term with rent expense recorded to operating
      expenses.&#160; We adjust the lease liability to reflect lease payments made during the period and interest incurred on the lease liability using the effective interest method. The interest expense incurred is recorded in interest expense on the Condensed
      Consolidated Statements of Operations and Comprehensive Income.</div>

    <div>&#160;</div>

    <div style="text-align: justify;">The depreciable life of related leasehold improvements is based on the shorter of the useful life or the lease term.&#160; We also perform interim reviews of our lease assets for impairment when evidence exists that the
      carrying value of an asset group, including a lease asset, may not be recoverable.</div>

    <div>&#160;</div>

    <div style="text-align: justify;">None of our lease agreements contain contingent rental payments, material residual value guarantees or material restrictive covenants.&#160; We have no sublease agreements and no lease agreements in which we are named as a
      lessor.</div>

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

    <div style="text-align: justify;"><span style="font-weight: bold;">Impairment of Long-Lived Assets</span>.&#160; We evaluate long-lived assets on a quarterly basis to identify events or changes in circumstances (&#8220;triggering events&#8221;) that indicate the
      carrying value of certain assets may not be recoverable.&#160; Upon the occurrence of a triggering event, right-of-use (&#8220;ROU&#8221;) lease assets, property and equipment and definite-lived intangible assets are reviewed for impairment and an impairment loss is
      recorded in the period in which it is determined that the carrying amount of the assets is not recoverable.&#160; The determination of recoverability is made based upon the estimated undiscounted future net cash flows of assets grouped at the lowest level
      for which there are identifiable cash flows independent of the cash flows of other groups of assets with such cash flows to be realized over the estimated remaining useful life of the primary asset within the asset group.&#160; The Company determined the
      lowest level of identifiable cash flows that are independent of other asset groups to be primarily at the individual store level.&#160; If the estimated undiscounted future net cash flows for a given store are less than the carrying amount of the related
      store assets, an impairment loss is determined by comparing the estimated fair value with the carrying value of the related assets.&#160; The impairment loss is then allocated across the asset group&#8217;s major classifications which in this case are operating
      lease assets and property and equipment.&#160; Triggering events at the store level could include material declines in operational and financial performance or planned changes in the use of assets, such as store relocation or store closure.&#160; This
      evaluation requires management to make judgements relating to future cash flows, growth rates and economic and market conditions.&#160; The fair value of an asset group is estimated using a discounted cash flow valuation method.</div>

    <div>&#160;</div>

    <div style="text-align: justify;"><span style="font-weight: bold;">Stock-based Compensation.</span>&#160; The Company&#8217;s stock-based compensation relates primarily to restricted stock unit (&#8220;RSU&#8221;) awards.&#160; Accounting guidance requires measurement and
      recognition of compensation expense at an amount equal to the grant date fair value.&#160; Compensation expense is recognized for service-based stock awards on a straight-line basis or ratably over the requisite service period, based on the closing price
      of the Company&#8217;s stock on the date of grant.&#160; The service-based awards typically vest ratably over the requisite service period, provided that the participant is employed on the vesting date.&#160; The total compensation expense is reduced by actual
      forfeitures as they occur over the requisite service period of the awards.&#160; Performance-based RSUs vest, if at all, upon the Company satisfying certain performance targets.&#160; The Company records compensation expense for awards with a performance
      condition when it is probable that the condition will be achieved.&#160; If the Company determines it is not probable a performance condition will be achieved, no compensation expense is recognized.&#160; If the Company changes its assessment in a subsequent
      period and concludes it is probable a performance condition will be achieved, the Company will recognize compensation expense ratably between the period of the change in assessment through the expected date of satisfying the performance condition for
      vesting.&#160; If the Company subsequently assesses that it is no longer probable that a performance condition will be achieved, the accumulated expense that has been previously recognized will be reversed.&#160; The compensation expense ultimately recognized,
      if any, related to performance-based awards will equal the grant date fair value based on the number of shares for which the performance condition has been satisfied.&#160; We issue shares from authorized shares upon the lapsing of vesting restrictions on
      RSUs.&#160; We do not use cash to settle equity instruments issued under stock-based compensation awards.</div>

    <div>&#160;</div>

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">19</span></div>

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

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
        </div>

      </div>

    </div>

    <div style="text-align: justify;"><span style="font-weight: bold;">Income Taxes.</span>&#160; Income taxes are estimated for each jurisdiction in which we operate.&#160; This involves assessing current tax exposure together with temporary differences resulting
      from differing treatment of items for tax and financial statement accounting purposes.&#160; Any resulting deferred tax assets are evaluated for recoverability based on estimated future taxable income.&#160; To the extent it is more-likely-than-not that all or
      a portion of a deferred tax asset will not be realized, a valuation allowance is recorded.&#160; Our evaluation regarding whether a valuation allowance is required or should be adjusted also considers, among other things, the nature, frequency, and
      severity of recent losses, forecasts of future profitability and the duration of statutory carryforward periods.&#160; Deferred tax assets and liabilities are measured using the enacted tax rates in effect in the years when those temporary differences are
      expected to reverse.&#160; The effect on deferred taxes from a change in tax rate is recognized through continuing operations in the period that includes the enactment date of the change.&#160; Changes in tax laws and rates could affect recorded deferred tax
      assets and liabilities in the future.&#160; A tax benefit from an uncertain tax position may be recognized when it is more-likely-than-not that the position will be sustained upon examination, including resolutions of any related appeals or litigation
      processes, based on the technical merits.&#160; Income tax positions must meet a more-likely-than-not recognition threshold to be recognized.&#160; We recognize tax liabilities for uncertain tax positions and adjust these liabilities when our judgement changes
      as a result of the evaluation of new information not previously available.&#160; Due to the complexity of some of these uncertainties, the ultimate resolution may result in a payment that is materially different from the current estimate of the tax
      liabilities.&#160; These differences will be reflected as increases or decreases to income tax expense and the effective tax rate in the period in which new information becomes available.&#160; We recognize interest and/or penalties related to all tax
      positions in income tax expense. To the extent that accrued interest and penalties do not ultimately become payable, amounts accrued will be reduced and reflected as a reduction of the overall income tax provision in the period that such
      determination is made.</div>

    <div>&#160;</div>

    <div style="text-align: justify;">We may be subject to periodic audits by the Internal Revenue Service and other taxing authorities.&#160; These audits may challenge certain of our tax positions, such as the timing and amount of deductions and allocation of
      taxable income to the various jurisdictions.</div>

    <div>&#160;</div>

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">20</span></div>

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

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
        </div>

      </div>

    </div>

    <div style="text-align: justify; font-weight: bold;"><span style="text-decoration: underline;">Results of Operations</span></div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-style: italic; font-weight: bold;">Three Months Ended June 30, 2024 and 2023</div>

    <div><br/>
    </div>

    <div style="text-align: justify;">The following table presents selected financial data:</div>

    <div><br/>
    </div>

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


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;"><br/>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="14">
            <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Three Months Ended June 30,</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
            <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2024</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
            <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2023</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
            <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">$ Change</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
            <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">% Change</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">Sales</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">17,286</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">17,482</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(196</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(1.1</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)%</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">Gross profit</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">10,018</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">10,921</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(903</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(8.3</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)%</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">Gross margin percentage</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">58.0</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">%</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">62.5</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">%</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(4.5</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)%</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 2px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">Operating expenses</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">9,955</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">10,131</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(176</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(1.7</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)%</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">Income from operations</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">63</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">790</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(727</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(92.0</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)%</div>
          </td>

  </tr>


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

    <div style="text-align: justify; font-weight: bold;">Net Sales</div>

    <div><br/>
    </div>

    <div style="text-align: justify;">Consolidated net sales for the quarter ended June 30, 2024 decreased $0.2 million, or 1.1%, compared to the corresponding prior year period.&#160; We believe the decrease in sales was due to ongoing weak consumer demand
      compared to a year ago resulting from ongoing uncertainty related to global political, economic and other uncontrollable factors.</div>

    <div><br/>
    </div>

    <div style="text-align: justify;">Our store footprint consisted of 101 and 103 stores at June 30, 2024 and June 30, 2023, respectively.</div>

    <div><br/>
    </div>

    <div style="text-align: justify;">We opened one store and closed one store in the second quarter. We evaluate a number of factors when determining whether to close existing stores, including the 4-wall cash flow trend and longer-term projection for the
      store, the long-term sales trend, ongoing cost of store operations, date of lease expiration, quality of the store and location, and the size and potential of the trade area including proximity to other existing stores, among other variables.&#160; We use
      similar factors to determine whether to open new stores.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-weight: bold;">Gross Profit</div>

    <div><br/>
    </div>

    <div style="text-align: justify;">Gross profit for the quarter decreased by $0.9 million, or 8.3%, compared to the same period in 2023, and our gross margin percentage for the quarter ended June 30, 2024, decreased year over year by 450 basis points&#160;
      due to a one-time accounting adjustment in cost of sales as reported in our 2023 second quarter 10-Q.</div>

    <div><br/>
    </div>

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">21</span></div>

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

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
        </div>

      </div>

    </div>

    <div style="text-align: justify; font-weight: bold;">Operating expenses</div>

    <div><br/>
    </div>

    <div style="text-align: justify;">Operating expenses for the quarter decreased $0.2 million or 1.7% compared to the corresponding prior year period, primarily as a result of a decrease in employment costs of $0.4 million and a decrease in office
      supplies of $0.1 million partially offset by an increase in medical group insurance of about $0.1 million, increase in other outside services of $0.1 million, and an increase in marketing of $0.1 million.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-weight: bold;">Income Taxes</div>

    <div><br/>
    </div>

    <div style="text-align: justify;">Our effective tax rate for the three months ended June 30, 2024 and June 30 2023 was 32.9% respectively. Our effective tax rate differs from the federal statutory rate primarily due to U.S. state income tax expense,
      expenses that are nondeductible for tax purposes, and the change in our valuation allowance associated with our deferred tax assets.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-style: italic; font-weight: bold;">Six Months Ended June 30, 2024 and 2023</div>

    <div><br/>
    </div>

    <div style="text-align: justify;">The following table presents selected financial data:</div>

    <div><br/>
    </div>

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


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;"><br/>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="14">
            <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Six Months Ended June 30,</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
            <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2024</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
            <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">2023</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
            <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">$ Change</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
            <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">% Change</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">Sales</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">36,561</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">37,842</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(1,281</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(3.4</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)%</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">Gross profit</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">20,938</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">22,740</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(1,802</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(7.9</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)%</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">Gross margin percentage</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">57.3</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">%</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">60.1</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">%</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(2.8</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)%</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 2px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">Operating expenses</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">20,226</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">20,969</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(743</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(3.5</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)%</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0);">Income from operations</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">712</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">1,771</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(1,059</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(59.8</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)%</div>
          </td>

  </tr>


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

    <div style="text-align: justify; font-weight: bold;">Net Sales</div>

    <div><br/>
    </div>

    <div style="text-align: justify;">Consolidated net sales for the six months ended June 30, 2024 decreased $1.3 million, or 3.4%, compared to the corresponding prior year period.&#160; We believe the decrease in sales was due to ongoing weak consumer demand
      compared to a year ago due to continued weaker consumer demand resulting from ongoing uncertainty related to global political, economic and other uncontrollable factors, and a decline in consumer response to our promotional activities.</div>

    <div><br/>
    </div>

    <div style="text-align: justify;">Our store footprint consisted of 101 and 103 stores at June 30, 2024 and June 30, 2023, respectively.</div>

    <div><br/>
    </div>

    <div style="text-align: justify;">We opened one store and closed one store in the six months ending June 30, 2024. We evaluate a number of factors when determining whether to close existing stores, including the 4-wall cash flow trend and longer-term
      projection for the store, the long-term sales trend, ongoing cost of store operations, date of lease expiration, quality of the store and location, and the size and potential of the trade area including proximity to other existing stores, among other
      variables.&#160; We use similar factors to determine whether to open new stores.</div>

    <div><br/>
    </div>

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">22</span></div>

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

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
        </div>

      </div>

    </div>

    <div style="text-align: justify; font-weight: bold;">Gross Profit</div>

    <div><br/>
    </div>

    <div style="text-align: justify;">Gross profit decreased by $1.8 million, or 7.9%, compared to the same period in 2023, and our gross margin percentage for the six months ended June 30, 2024, decreased year over year by 280 basis points due to a
      one-time accounting adjustment in cost of sales as reported in our 2023 second quarter 10-Q.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-weight: bold;">Operating expenses</div>

    <div><br/>
    </div>

    <div style="text-align: justify;">Operating expenses decreased $0.7 million or 3.5% compared to the corresponding prior year period, primarily as a result of a decrease in employment costs of $1.0 million, partially offset by an increase in medical
      insurance of $0.2 million and an increase in marketing expense of $0.1 million.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-weight: bold;">Income Taxes</div>

    <div><br/>
    </div>

    <div style="text-align: justify;">Our effective tax rate for the six months ended June 30, 2024 was 26.9% compared to 31.1% for the same period in 2023.&#160; Our effective tax rate differs from the federal statutory rate primarily due to U.S. state income
      tax expense, expenses that are nondeductible for tax purposes, and the change in our valuation allowance associated with our deferred tax assets.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-weight: bold;"><span style="text-decoration: underline;">Capital Resources, Liquidity and Financial Condition</span></div>

    <div><br/>
    </div>

    <div style="text-align: justify;">We require cash principally for day-to-day operations, to purchase inventory and to finance capital investments.&#160; We expect to fund our operating and liquidity needs primarily from a combination of current cash
      balances and cash generated from operating activities.&#160; Any excess cash will be invested as determined by our Board of Directors in accordance with its approved investment policy.&#160; Our cash balances as of June 30, 2024 totaled $11.5 million.&#160; </div>

    <div><br/>
    </div>

    <div style="text-align: justify;">On January 3, 2023, the Company entered into a credit agreement (the &#8220;Credit Agreement&#8221;) with JPMorgan Chase Bank, N.A.&#160; Under the Credit Agreement, the bank will provide the Company a credit facility of up to
      $5,000,000 on standard terms and conditions, including affirmative and negative covenants set forth in the Credit Agreement.&#160; As security for the credit facility, the Company has pledged as collateral certain of its assets, including the Company&#8217;s
      cash in deposit accounts, inventory and equipment.&#160; As of the date of this filing, no funds had been borrowed under this facility.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-weight: bold;">Share Repurchase Program and Share Repurchase</div>

    <div><br/>
    </div>

    <div style="text-align: justify;">On August 8, 2022, the Board of Directors approved a new program to repurchase up to $5.0 million of the Company&#8217;s common stock between that date and August 31, 2024.&#160; As of June 30, 2024, $5.0 million remained
      available for repurchase under this new program.</div>

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

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">23</span></div>

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

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
        </div>

      </div>

    </div>

    <div style="text-align: justify; font-weight: bold;">Cash Flows (six months)</div>

    <div><br/>
    </div>

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


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">
            <div style="color: rgb(0, 0, 0); font-weight: bold;">(amounts in thousands)</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
            <div style="text-align: right; color: rgb(0, 0, 0); font-weight: bold;">2024</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
            <div style="text-align: right; color: rgb(0, 0, 0); font-weight: bold;">2023</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="color: rgb(0, 0, 0);">Net cash provided by operating activities</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div style="color: rgb(0, 0, 0);">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="color: rgb(0, 0, 0);">572</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div style="color: rgb(0, 0, 0);">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="color: rgb(0, 0, 0);">2,329</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="color: rgb(0, 0, 0);">Net cash used in investing activities</div>
          </td>

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

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

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(1,428</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)</div>
          </td>

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

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

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(174</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="color: rgb(0, 0, 0);">Net cash used in financing activities</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(1</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(3</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">Effect of exchange rate changes on cash and cash equivalents</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">229</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">(94</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0);">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">
            <div style="color: rgb(0, 0, 0); font-weight: bold;">Net (decrease) increase in cash and cash equivalents</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0); font-weight: bold;">(628</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0); font-weight: bold;">)</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="color: rgb(0, 0, 0); font-weight: bold;">2,058</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


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

    <div style="text-align: justify;">For the six months ended June 30, 2024, cash from operations generated $0.6 million driven by a net income of $0.6 million, non-cash expense of $2.8 million, including depreciation, amortization, and stock-based
      compensation, a net reduction in inventory of $0.8 million partially offset by a reduction in lease liability payments of $1.8 million, decrease in accrued expense and other liabilities of $0.7 million,&#160; an increase in prepaid expense of $0.4
      million, and an increase in accounts receivable of $0.1 million. We invested $1.4 million in capital expenditure primarily related to replacing a new roof at our corporate headquarters and other new capital investments due to new store openings and
      store relocations.&#160; The activities above, in addition to the effect of exchange rate changes, resulted in a net decrease in cash of $0.6 million.</div>

    <div><br/>
    </div>

    <div style="text-align: justify;">For the six months ended June 30, 2023, cash from operations generated $2.3 million driven by a net income of $1.2 million, non-cash expense of $2.7 million, including depreciation, amortization, and stock-based
      compensation, a net reduction in inventory of $0.7 million, offset by a change in other assets of $0.1 million, income tax payable of $0.4 million, and a reduction in lease liability payments of $1.7 million. We invested $0.1 million in capital
      expenditures primarily related to system modifications and improvements.&#160; The activities above, in addition to the effect of exchange rate changes, resulted in a net increase in cash of $2.0 million.</div>

    <div><br/>
    </div>

    <div>
      <a id="ControlsandProcedures."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 45pt; white-space: nowrap;">
              <div style="text-align: left; font-weight: bold;">Item 4.<br/>
              </div>
            </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
              <div style="font-weight: bold;">Controls and Procedures.</div>
            </td>

  </tr>


</table>
    </div>

    <div style="font-weight: bold;"> <br/>
    </div>

    <div style="text-align: justify; font-style: italic; font-weight: bold;">Evaluation of Disclosure Controls and Procedures</div>

    <div><br/>
    </div>

    <div style="text-align: justify;">Our management team, under the supervision and with the participation of our Chief Executive Officer (who serves as our principal executive officer and principal financial officer) , evaluated the effectiveness of the
      design and operation of our disclosure controls and procedures as such term is defined under Rule 13a-15(e) promulgated under the Securities Exchange Act of 1934, as amended, as of the last day of the fiscal period covered by this report, June 30,
      2024. The term disclosure controls and procedures means our controls and other procedures that are designed to ensure that information required to be disclosed by us in the reports that we file or submit under the Securities Exchange Act of 1934, as
      amended, is recorded, processed, summarized and reported, within the time periods specified in the Securities and Exchange Commission&#8217;s rules and forms. Disclosure controls and procedures include, without limitation, controls and procedures designed
      to ensure that information required to be disclosed by us in the reports that we file or submit under the Securities Exchange Act of 1934, as amended, is accumulated and communicated to management, including our principal executive and principal
      financial officer, or persons performing similar functions, as appropriate to allow timely decisions regarding required disclosure. Based on this evaluation, our management, with the participation of our Chief Executive Officer, concluded that, as of
      June 30, 2024, our disclosure controls and procedures were effective at a reasonable assurance level.</div>

    <div><br/>
    </div>

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">24</span></div>

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

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
        </div>

      </div>

    </div>

    <div style="font-weight: bold;">Changes in Internal Control Over Financial Reporting</div>

    <div>&#160;</div>

    <div>There have been no changes in our internal control over financial reporting during the fiscal quarter ended June 30, 2024 that materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-weight: bold;"><a id="PARTII.OTHERINFORMATION"><!--Anchor--></a>PART II.&#160; OTHER INFORMATION</div>

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

    <div style="text-align: justify; font-weight: bold;">
      <a id="LegalProceedings."><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 45pt; white-space: nowrap;">
              <div style="text-align: left; font-weight: bold;">Item 1.<br/>
              </div>
            </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
              <div style="font-weight: bold;">Legal Proceedings.</div>
            </td>

  </tr>


</table>
    </div>

    <div><br/>
    </div>

    <div style="text-align: justify;">The information contained in Note 6, <span style="font-style: italic;">Commitments and Contingencies</span> to the Condensed Consolidated Financial Statements included in Part I, Item 1 of this Report is hereby
      incorporated into this Item 1 by reference.</div>

    <div><br/>
    </div>

    <div> <a id="RiskFactors."><!--Anchor--></a>
      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 45pt;">
              <div style="text-align: justify; font-weight: bold;">Item 1A.</div>
            </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
              <div style="text-align: justify; font-weight: bold;">Risk Factors.</div>
            </td>

  </tr>


</table>
    </div>

    <div><br/>
    </div>

    <div style="text-align: justify;">Our Risk Factors are discussed fully in our Annual Report on Form 10-K for the fiscal year ended December 31, 2023 and incorporated herein by reference.&#160; We have not identified any new risk factors as of June 30, 2024.</div>

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

    <div>
      <a id="UnregisteredSalesofEquity"><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 45pt; white-space: nowrap;">
              <div style="text-align: justify; font-weight: bold;">Item 2.&#160; </div>
            </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
              <div style="text-align: justify; font-weight: bold;">Unregistered Sales of Equity Securities and Use of Proceeds.</div>
            </td>

  </tr>


</table>
    </div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-weight: bold;">Purchases of Equity Securities by the Issuer and Affiliated Purchasers</div>

    <div><br/>
    </div>

    <div style="text-align: justify;">The following table provides information about purchases we have made of our common stock during the quarter ended June 30, 2024:</div>

    <div><br/>
    </div>

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


  <tr>

    <td valign="bottom" style="vertical-align: middle;" colspan="16">
            <div style="text-align: center; font-weight: bold;">ISSUER PURCHASES OF EQUITY SECURITIES</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);">
            <div style="text-align: center; font-weight: bold;">Period</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="2">
            <div style="text-align: center; font-weight: bold;">(a) Total</div>
            <div style="text-align: center; font-weight: bold;"> number of</div>
            <div style="text-align: center; font-weight: bold;"> shares</div>
            <div style="text-align: center; font-weight: bold;"> purchased</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="2">
            <div style="text-align: center; font-weight: bold;">(b)</div>
            <div style="text-align: center; font-weight: bold;"> Average</div>
            <div style="text-align: center; font-weight: bold;"> price paid</div>
            <div style="text-align: center; font-weight: bold;"> per share</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
            <div style="text-align: center; font-weight: bold;">(c) Total number of</div>
            <div style="text-align: center; font-weight: bold;"> shares purchased as</div>
            <div style="text-align: center; font-weight: bold;"> part of publicly</div>
            <div style="text-align: center; font-weight: bold;"> announced plans or</div>
            <div style="text-align: center; font-weight: bold;"> programs</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="2">
            <div style="text-align: center; font-weight: bold;">(d) Maximum value</div>
            <div style="text-align: center; font-weight: bold;"> of shares that may</div>
            <div style="text-align: center; font-weight: bold;"> yet be purchased</div>
            <div style="text-align: center; font-weight: bold;"> under the plans or<br/>
              &#160;programs</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
            <div>April 1 &#8211; April 30, 2024</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="text-align: center;">&#8212;</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="text-align: center;">&#8212;</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); text-align: center; white-space: nowrap;" colspan="1">&#160;</td>

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

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

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="text-align: center;">&#8212;</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>4,997,000</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
            <div>May 1 &#8211; May 31, 2024</div>
          </td>

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

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

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="text-align: center;">&#8212;</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

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

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

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="text-align: center;">&#8212;</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; text-align: center; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; text-align: center;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; text-align: center;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="text-align: center;">&#8212;</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

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

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">
            <div>$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>4,997,000</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>June 1 &#8211; June 30, 2024</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div style="text-align: center;">&#8212;</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">
            <div style="text-align: center;">&#8212;</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); text-align: center; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); text-align: center;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); text-align: center;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div style="text-align: center;">&#8212;</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">
            <div>$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">
            <div>4,997,000</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
            <div>Total</div>
          </td>

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

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

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="text-align: center;">&#8212;</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

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

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

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="text-align: center;">&#8212;</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; text-align: center; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; text-align: center;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; text-align: center;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="text-align: center;">&#8212;</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

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

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

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


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

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">25</span></div>

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

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
        </div>

      </div>

    </div>

    <div style="font-weight: bold;"> <a id="Exhibits."><!--Anchor--></a>
      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 45pt; white-space: nowrap;">
              <div style="text-align: left; font-weight: bold;">Item 6.<br/>
              </div>
            </td>

    <td style="text-align: left; vertical-align: top; width: auto; font-weight: bold;">Exhibits.</td>

  </tr>


</table>
    </div>

    <div><br/>
    </div>

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


  <tr>

    <td style="width: 10%; vertical-align: top;">
            <div style="font-weight: bold;">Exhibit</div>
            <div style="font-weight: bold;"><span style="text-decoration: underline;">Number</span></div>
          </td>

    <td style="width: 90%; vertical-align: top;">
            <div>&#160;</div>
            <div style="text-align: center; font-weight: bold;"><span style="text-decoration: underline;">Description</span></div>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top;" rowspan="1"><br/>
          </td>

    <td style="width: 90%; vertical-align: top;" rowspan="1"><br/>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div>3.1</div>
          </td>

    <td style="width: 90%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; margin-right: 2.15pt;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000090972405000028/ex3-1.htm">Certificate of Incorporation of The Leather Factory, Inc., and Certificate of Amendment to Certificate
                of Incorporation of The Leather Factory, Inc. filed as Exhibit 3.1 to Tandy Leather Factory, Inc.&#8217;s Quarterly Report on Form 10-Q filed with the Securities and Exchange Commission on August 12, 2005 and incorporated by reference herein. </a></div>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top;" rowspan="1"><br/>
          </td>

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

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div>3.2</div>
          </td>

    <td style="width: 90%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; margin-right: 1.8pt; color: #0000FF;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000114036121040868/brhc10031621_ex3-1.htm">Bylaws of Tandy Leather Factory, Inc., filed as Exhibit 3.1 to Tandy
                Leather Factory, Inc.&#8217;s Current Report on Form 8-K filed with the Securities and Exchange Commission on December 8, 2021 and incorporated by reference herein.</a></div>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top;" rowspan="1"><br/>
          </td>

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

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div>3.3</div>
          </td>

    <td style="width: 90%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000090972413000031/exh3-1.htm">Certificate of Designations of Series A Junior Participating Preferred Stock of Tandy Leather Factory, Inc. filed as
                Exhibit 3.1 to Tandy Leather Factory&#8217;s Inc.&#8217;s Current Report on Form 8-K filed with the Securities and Exchange Commission on June 10, 2013 and incorporated by reference herein. </a></div>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top;" rowspan="1"><br/>
          </td>

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

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);" rowspan="1">
            <div>3.4</div>
          </td>

    <td style="width: 90%; vertical-align: top; background-color: rgb(204, 238, 255);" rowspan="1">
            <div style="text-align: justify; color: #0000FF;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000114036123024770/brhc20052855_ex3-4.htm">Certificate of Amendment of Certificate of Incorporation, dated March 1, 2023.</a></div>
          </td>

  </tr>

  <tr>

    <td rowspan="1" style="width: 10%; vertical-align: top;"><br/>
          </td>

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

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div>4.1</div>
          </td>

    <td style="width: 90%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; color: #0000FF;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000114036121021870/brhc10025890_ex4-1.htm">Description of Securities filed as Exhibit 4.1 to Tandy Leather Factory, Inc.&#8217;s Quarterly
                Report on Form 10-Q filed with the Securities and Exchange Commission on June 22, 2021 and incorporated by reference herein.</a></div>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top;"><br/>
          </td>

    <td style="width: 90%; vertical-align: top;"><br/>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div>10.1</div>
          </td>

    <td style="width: 90%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000090972413000048/exhibit10-1.htm">Tandy Leather Factory, Inc. 2013 Restricted Stock Plan, filed as Exhibit 10.1 to Tandy Leather Factory&#8217;s Quarterly
                Report on Form 10-Q filed with the Securities and Exchange Commission on November 14, 2013 and incorporated by reference herein. </a></div>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top;" rowspan="1"><br/>
          </td>

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

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div>10.2</div>
          </td>

    <td style="width: 90%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; margin-right: 10.8pt; color: #0000FF;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000114036121021870/brhc10025890_ex10-5.htm">Amendment #1 to Tandy Leather Factory, Inc. 2013 Restricted Stock Plan
                filed as Exhibit 10.5 to Tandy Leather Factory, Inc.&#8217;s Quarterly Report on Form 10-Q filed with the Securities and Exchange on June 22, 2021 and incorporated by reference herein.</a></div>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top;" rowspan="1"><br/>
          </td>

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

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div>10.3</div>
          </td>

    <td style="width: 90%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; margin-right: 10.8pt;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000090972414000004/exhibit10-1.htm">Form of Non-Employee Director Restricted Stock Agreement under Tandy Leather Factory, Inc.&#8217;s
                2013 Restricted Stock Plan, filed as Exhibit 10.1 to Tandy Leather Factory, Inc.&#8217;s Current Report on Form 8-K filed with the Securities and Exchange Commission on February 14, 2014 and incorporated by reference herein. </a></div>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top;" rowspan="1"><br/>
          </td>

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

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div>10.4</div>
          </td>

    <td style="width: 90%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000114036121021870/brhc10025890_ex10-7.htm">Form of Employee Restricted Stock Award Agreement under Tandy Leather Factory, Inc.&#8217;s 2013 Restricted Stock
                Plan, filed as Exhibit 10.7 to Tandy Leather Factory, Inc.&#8217;s Quarterly Report on Form 10-Q filed with the Securities and Exchange Commission on June 22, 2021 and incorporated by reference herein. </a></div>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top;" rowspan="1"><br/>
          </td>

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

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div>10.5</div>
          </td>

    <td style="width: 90%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; color: #0000FF;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000090972418000022/exhibit10-1.htm">Form of Employment Agreement dated October 2, 2018 between the Company and Janet Carr, filed as
                Exhibit 10.1 to Tandy Leather Factory Inc.&#8217;s Current Report on Form 8-K filed with the Securities and Exchange Commission on October 5, 2018 and incorporated by reference herein.</a></div>
          </td>

  </tr>


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

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">26</span></div>

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

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
        </div>

      </div>

    </div>

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


  <tr>

    <td rowspan="1" style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div>10.6</div>
          </td>

    <td rowspan="1" style="vertical-align: top; width: 90%; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; margin-right: 10.8pt;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000090972418000022/exhibit10-2.htm">Form of Stand-Alone Restricted Stock Unit Agreement dated October 2, 2018 between the Company
                and Janet Carr, filed as Exhibit 10.2 to Tandy Leather Factor&#8217;s Current Report on Form 8-K filed with the Securities and Exchange Commission on October 5, 2018 and incorporated by reference herein. </a></div>
          </td>

  </tr>

  <tr>

    <td rowspan="1" style="width: 10%; vertical-align: top;"><br/>
          </td>

    <td rowspan="1" style="vertical-align: top; width: 90%;"><br/>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div>10.7</div>
          </td>

    <td style="vertical-align: top; width: 90%; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000114036123039677/brhc20057333_ex10-10.htm">Tandy Leather Factory, Inc. 2023 Incentive Stock Plan, filed as Exhibit 10.10 to Tandy Leather Factory,
                Inc.&#8217;s Quarterly Report on Form 10-Q filed with the Securities and Exchange Commission on August 14, 2023</a></div>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top;" rowspan="1"><br/>
          </td>

    <td style="vertical-align: top; width: 90%;" rowspan="1"><br/>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div>10.8</div>
          </td>

    <td style="vertical-align: top; width: 90%; background-color: rgb(204, 238, 255);">
            <div><a href="https://www.sec.gov/Archives/edgar/data/909724/000114036123052092/ef20012469_ex10-11.htm">Form of Restricted Stock Unit Agreement dated October 23, 2023 between the Company and Janet Carr, filed as Exhibit 10.11 to Tandy Leather
                Factory, Inc.&#8217;s Quarterly Report on Form 10-Q filed with the Securities and Exchange Commission on November 8, 2023<br/>
              </a> </div>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top;"><br/>
          </td>

    <td style="vertical-align: top; width: 90%;"><br/>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div>14.1</div>
          </td>

    <td style="vertical-align: top; width: 90%; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; color: #0000FF;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000114036121021870/brhc10025890_ex14-1.htm">Code of Business Conduct and Ethics of Tandy Leather Factory, Inc., adopted by the Board of
                Directors in May, 2021, filed as Exhibit 14.1 to Tandy Leather Factory, Inc.&#8217;s Quarterly Report on Form 10-Q filed with the Securities and Exchange Commission on June 22, 2021 and incorporated by reference herein.</a></div>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top;" rowspan="1"><br/>
          </td>

    <td style="vertical-align: top; width: 90%;" rowspan="1"><br/>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div>21.1</div>
          </td>

    <td style="vertical-align: top; width: 90%; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; margin-right: 10.8pt;"><a href="https://www.sec.gov/Archives/edgar/data/909724/000114036124014799/ef20015300_ex21-1.htm">Subsidiaries of Tandy Leather Factory, Inc., filed as Exhibit 21.1 to Tandy Leather
                Factory, Inc.&#8217;s Annual Report on Form 10-K filed with the Securities and Exchange Commission on&#160;&#160; March 22, 2024 and incorporated by reference herein.</a></div>
          </td>

  </tr>

  <tr>

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

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

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div><a href="ef20030083_ex31-1.htm">*31.1</a></div>
          </td>

    <td style="vertical-align: top; width: 90%; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; margin-right: 10.8pt;">13a-14(a) or 15d-14(a) Certification by the Chief Executive Officer pursuant to Rule 13a-14(a) or 15d-14(a) under the Securities Exchange Act of 1934, as amended.</div>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top;" rowspan="1"><br/>
          </td>

    <td style="vertical-align: top; width: 90%;" rowspan="1"><br/>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div><a href="ef20030083_ex32-1.htm">*32.1</a></div>
          </td>

    <td style="vertical-align: top; width: 90%; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; margin-right: 10.8pt;">Certification Pursuant to 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2022.</div>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top;" rowspan="1"><br/>
          </td>

    <td style="vertical-align: top; width: 90%;" rowspan="1"><br/>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div>*101.INS</div>
          </td>

    <td style="vertical-align: top; width: 90%; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; margin-right: 10.8pt;">XBRL Instance Document.</div>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top;" rowspan="1"><br/>
          </td>

    <td style="vertical-align: top; width: 90%;" rowspan="1"><br/>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div>*101.SCH</div>
          </td>

    <td style="vertical-align: top; width: 90%; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; margin-right: 10.8pt;">XBRL Taxonomy Extension Schema Document.</div>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top;" rowspan="1"><br/>
          </td>

    <td style="vertical-align: top; width: 90%;" rowspan="1"><br/>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div>*101.CAL</div>
          </td>

    <td style="vertical-align: top; width: 90%; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; margin-right: 10.8pt;">XBRL Taxonomy Extension Calculation Document.</div>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top;" rowspan="1"><br/>
          </td>

    <td style="vertical-align: top; width: 90%;" rowspan="1"><br/>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div>*101.DEF</div>
          </td>

    <td style="vertical-align: top; width: 90%; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; margin-right: 10.8pt;">XBRL Taxonomy Extension Definition Document.</div>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top;" rowspan="1"><br/>
          </td>

    <td style="vertical-align: top; width: 90%;" rowspan="1"><br/>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div>*101.LAB</div>
          </td>

    <td style="vertical-align: top; width: 90%; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; margin-right: 10.8pt;">XBRL Taxonomy Extension Labels Document.</div>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top;" rowspan="1"><br/>
          </td>

    <td style="vertical-align: top; width: 90%;" rowspan="1"><br/>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div>*101.PRE</div>
          </td>

    <td style="vertical-align: top; width: 90%; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; margin-right: 10.8pt;">XBRL Taxonomy Extension Presentation Document.</div>
          </td>

  </tr>

  <tr>

    <td style="width: 10%; vertical-align: top; border-bottom: 2px solid rgb(0, 0, 0);"> <br/>
          </td>

    <td style="vertical-align: top; width: 90%; padding-bottom: 2px;"><br/>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: top; width: 10%;">
            <div style="text-align: justify;">*Filed herewith.</div>
          </td>

    <td style="width: 90%; vertical-align: top;"><br/>
          </td>

  </tr>


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

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: normal;">27</span></div>

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

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="text-align: justify; margin-top: 6pt; font-family: 'Times New Roman'; font-size: 8pt; font-weight: normal; font-style: italic;"><a href="#TABLEOFCONTENTS"> Table of Contents</a><br/>
        </div>

      </div>

    </div>

    <a id="SIGNATURES"><!--Anchor--></a>
    <div style="font-weight: bold;">SIGNATURES</div>

    <div><br/>
    </div>

    <div style="text-align: justify;">Pursuant to the requirements of the Securities and Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.</div>

    <div><br/>
    </div>

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


  <tr>

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

    <td style="width: 3%; vertical-align: top;" rowspan="1" colspan="2">
              <div style="text-align: justify; font-weight: bold;">TANDY LEATHER FACTORY, INC.</div>
            </td>

  </tr>

  <tr>

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

    <td style="width: 3%; vertical-align: top;" rowspan="1" colspan="2">
              <div style="text-align: justify;">(Registrant)</div>
            </td>

  </tr>

  <tr>

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

    <td style="width: 3%; vertical-align: top;" rowspan="1" colspan="2">&#160;&#160;</td>

  </tr>

  <tr>

    <td style="width: 50%; vertical-align: top;"> Date:&#160; August 7, 2024&#160; </td>

    <td style="width: 3%; vertical-align: top;">
              <div style="text-align: justify;">By:</div>
            </td>

    <td style="width: 47%; vertical-align: top;">
              <div style="text-align: justify;"><span style="text-decoration: underline;">/s/ Janet Carr</span></div>
            </td>

  </tr>

  <tr>

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

    <td style="width: 3%; vertical-align: top;" rowspan="1" colspan="2">
              <div style="text-align: justify; font-weight: bold;">Janet Carr</div>
            </td>

  </tr>

  <tr>

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

    <td style="width: 3%; vertical-align: top;" rowspan="1" colspan="2">
              <div style="text-align: justify; font-weight: bold;">Chief Executive Officer</div>
            </td>

  </tr>


</table>
    </div>

    <div><br/>
    </div>

    <div><br/>
    </div>

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

  </div>

  <div>
    <hr style="height: 2px; color: #000000; background-color: #000000; text-align: center; border: none; margin-left: auto; margin-right: auto;"/> </div>

</div>
</div>
</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>ef20030083_ex31-1.htm
<DESCRIPTION>EXHIBIT 31.1
<TEXT>
<html>
  <head>
    <title></title>
    <!-- Licensed to: Broadridge Financial Solutions, Inc.
         Document created using Broadridge PROfile 24.6.2.5244
         Copyright 1995 - 2024 Broadridge -->
  </head>
<body bgcolor="#ffffff" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000;">
  <div>
    <hr noshade="noshade" align="center" style="height: 4px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;">
    <div>
      <div style="font-weight: bold;">EXHIBIT 31.1</div>
      <div style="text-align: center; font-weight: bold;"> <br>
      </div>
      <div style="text-align: center; font-weight: bold;">RULE 13a-14(a) CERTIFICATION</div>
      <div style="text-align: center; font-weight: bold;"> <br>
      </div>
      <div style="text-align: justify;">I, <font style="font-weight: bold;">Janet Carr</font>, certify that:&#160; </div>
      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">

          <tr>
            <td style="width: 13.5pt;"><br>
            </td>
            <td style="width: 18pt; vertical-align: top;">1.</td>
            <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>I have reviewed this quarterly report on Form 10-Q of Tandy Leather Factory, Inc.; Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the
                statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report; </div>
            </td>
          </tr>

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

          <tr>
            <td style="width: 13.5pt;"><br>
            </td>
            <td style="width: 18pt; vertical-align: top;">2.</td>
            <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and
                for, the periods presented in this report; </div>
            </td>
          </tr>

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

          <tr>
            <td style="width: 13.5pt;"><br>
            </td>
            <td style="width: 18pt; vertical-align: top;">3.</td>
            <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>The registrant&#8217;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial
                reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:&#160; </div>
            </td>
          </tr>

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

          <tr>
            <td style="width: 40.5pt;"><br>
            </td>
            <td style="width: 22.5pt; vertical-align: top;">a.</td>
            <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated
                subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared; </div>
            </td>
          </tr>

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

          <tr>
            <td style="width: 40.5pt;"><br>
            </td>
            <td style="width: 22.5pt; vertical-align: top;">b.</td>
            <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and
                the preparation of financial statements for external purposes in accordance with generally accepted accounting principles; </div>
            </td>
          </tr>

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

          <tr>
            <td style="width: 40.5pt;"><br>
            </td>
            <td style="width: 22.5pt; vertical-align: top;">c.</td>
            <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by
                this report based on such evaluation; and </div>
            </td>
          </tr>

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

          <tr>
            <td style="width: 40.5pt;"><br>
            </td>
            <td style="width: 22.5pt; vertical-align: top;">d.</td>
            <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s first fiscal quarter that has materially affected, or is reasonably likely to materially affect, the
                registrant&#8217;s internal control over financial reporting; and </div>
            </td>
          </tr>

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

          <tr>
            <td style="width: 13.5pt;"><br>
            </td>
            <td style="width: 22.5pt; vertical-align: top;">4.</td>
            <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the Audit Committee of the registrant&#8217;s Board of Directors
                (or persons performing the equivalent functions): </div>
            </td>
          </tr>

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

          <tr>
            <td style="width: 40.5pt;"><br>
            </td>
            <td style="width: 22.5pt; vertical-align: top;">a.</td>
            <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and
                report financial information; and </div>
            </td>
          </tr>

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

          <tr>
            <td style="width: 40.5pt;"><br>
            </td>
            <td style="width: 22.5pt; vertical-align: top;">b.</td>
            <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal controls over financial reporting.&#160; </div>
            </td>
          </tr>

      </table>
      <div style="text-align: justify;">&#160;<br>
        <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: rgb(0, 0, 0);">

            <tr>
              <td style="width: 50%; vertical-align: top;"> Date: August 7, 2024&#160;&#160; </td>
              <td style="width: 3%; vertical-align: top;">
                <div style="text-align: justify;">By:</div>
              </td>
              <td style="width: 47%; vertical-align: top;">
                <div style="text-align: justify;"><u>/s/ Janet Carr</u></div>
              </td>
            </tr>
            <tr>
              <td style="width: 50%; vertical-align: top;"><br>
              </td>
              <td style="width: 3%; vertical-align: top;">&#160;</td>
              <td style="width: 47%; vertical-align: top;">
                <div style="text-align: justify; font-weight: bold; margin-left: 9pt;">Janet Carr</div>
              </td>
            </tr>
            <tr>
              <td style="width: 50%; vertical-align: top;"><br>
              </td>
              <td style="width: 3%; vertical-align: top;">&#160;</td>
              <td style="width: 47%; vertical-align: top;">
                <div style="text-align: justify; font-weight: bold; margin-left: 9pt;">Chief Executive Officer</div>
              </td>
            </tr>
            <tr>
              <td style="width: 50%; vertical-align: top;"><br>
              </td>
              <td style="width: 3%; vertical-align: top;">&#160;</td>
              <td style="width: 47%; vertical-align: top;">
                <div style="text-align: justify; margin-left: 9pt;">(Principal Executive Officer and Principal Financial Officer)</div>
              </td>
            </tr>

        </table>
      </div>
      <div><br>
      </div>
      <br>
      <hr noshade="noshade" align="center" style="height: 2px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;"></div>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>3
<FILENAME>ef20030083_ex32-1.htm
<DESCRIPTION>EXHIBIT 32.1
<TEXT>
<html>
  <head>
    <title></title>
    <!-- Licensed to: Broadridge Financial Solutions, Inc.
         Document created using Broadridge PROfile 24.6.2.5244
         Copyright 1995 - 2024 Broadridge -->
  </head>
<body bgcolor="#ffffff" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000;">
  <div>
    <hr noshade="noshade" align="center" style="height: 4px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;">
    <div>
      <div style="font-weight: bold;">EXHIBIT 32.1</div>
      <div><br>
      </div>
      <div style="text-align: center; font-weight: bold;">Certification Pursuant to 18 U.S.C. Section 1350,</div>
      <div style="text-align: center; font-weight: bold;">as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</div>
      <div><br>
      </div>
      <div style="text-align: justify;">In connection with the Quarterly Report on Form 10-Q of Tandy Leather Factory, Inc. (the &#8220;Company&#8221;) for the quarter ended March 31, 2024 as filed with the United States Securities and Exchange Commission on the date
        hereof (the &#8220;Report&#8221;), each of the undersigned officers of the Company hereby certifies, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:</div>
      <div><br>
      </div>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 18pt;"><br>
            </td>
            <td style="width: 18pt; vertical-align: top;">i.</td>
            <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</div>
            </td>
          </tr>

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

          <tr>
            <td style="width: 18pt;"><br>
            </td>
            <td style="width: 18pt; vertical-align: top;">ii.</td>
            <td style="width: auto; vertical-align: top; text-align: justify;">
              <div>The information contained in the Report fully presents, in all material respects, the financial condition and results of operations of the Company as of the dates and for the periods expressed in the Report.</div>
            </td>
          </tr>

      </table>
      <div style="text-align: justify;"><br>
        <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: rgb(0, 0, 0);">

            <tr>
              <td style="width: 50%; vertical-align: top;" colspan="1"> Date: August 7, 2024</td>
              <td style="width: 3%; vertical-align: top;">
                <div style="text-align: justify;">By:</div>
              </td>
              <td style="width: 47%; vertical-align: top;">
                <div style="text-align: justify;"><u>/s/ Janet Carr</u></div>
              </td>
            </tr>
            <tr>
              <td style="width: 50%; vertical-align: top;" colspan="1">&#160;</td>
              <td style="width: 3%; vertical-align: top;" rowspan="1" colspan="2">
                <div style="text-align: justify; font-weight: bold;">Janet Carr</div>
              </td>
            </tr>
            <tr>
              <td style="width: 50%; vertical-align: top;" colspan="1">&#160;</td>
              <td style="width: 3%; vertical-align: top;" rowspan="1" colspan="2">
                <div style="text-align: justify; font-weight: bold;">Chief Executive Officer</div>
              </td>
            </tr>
            <tr>
              <td style="width: 50%; vertical-align: top;" colspan="1">&#160;</td>
              <td style="width: 3%; vertical-align: top;" rowspan="1" colspan="2">
                <div style="text-align: justify;">(Principal Executive Officer and Principal Financial Officer)&#160;</div>
              </td>
            </tr>

        </table>
      </div>
      <div style="text-align: justify;"> <br>
      </div>
      <br>
      <hr noshade="noshade" align="center" style="height: 2px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;"></div>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>4
<FILENAME>tlfa-20240630.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by Broadridge PROfile 24.6.2.5244 Broadridge-->
<xs:schema targetNamespace="http://tandyleather.com/20240630" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tlfa="http://tandyleather.com/20240630" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:us-types="http://fasb.org/us-types/2024" xmlns:srt-types="http://fasb.org/srt-types/2024">
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xlink:type="simple" xlink:href="tlfa-20240630_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="tlfa-20240630_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="tlfa-20240630_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="tlfa-20240630_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:roleType roleURI="http://tandyleather.com/role/DocumentAndEntityInformation" id="DocumentAndEntityInformation">
        <link:definition>000100 - Document - Document and Entity Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/CondensedConsolidatedBalanceSheets" id="CondensedConsolidatedBalanceSheets">
        <link:definition>010000 - Statement - Condensed Consolidated Balance Sheets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/CondensedConsolidatedBalanceSheetsParenthetical" id="CondensedConsolidatedBalanceSheetsParenthetical">
        <!--Parent Role: Condensed Consolidated Balance Sheets-->
        <link:definition>010100 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" id="CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome">
        <link:definition>020000 - Statement - Condensed Consolidated Statements of Operations and Comprehensive Income</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows" id="CondensedConsolidatedStatementsOfCashFlows">
        <link:definition>030000 - Statement - Condensed Consolidated Statements of Cash Flows</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity" id="CondensedConsolidatedStatementsOfStockholdersEquity">
        <link:definition>040000 - Statement - Condensed Consolidated Statements of Stockholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPolicies" id="BasisOfPresentationAndCertainSignificantAccountingPolicies">
        <link:definition>060100 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/NotesPayableAndLongtermDebt" id="NotesPayableAndLongtermDebt">
        <link:definition>060200 - Disclosure - NOTES PAYABLE AND LONG-TERM DEBT</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/IncomeTax" id="IncomeTax">
        <link:definition>060300 - Disclosure - INCOME TAX</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/StockbasedCompensation" id="StockbasedCompensation">
        <link:definition>060400 - Disclosure - STOCK-BASED COMPENSATION</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/EarningsPerShare" id="EarningsPerShare">
        <link:definition>060500 - Disclosure - EARNINGS PER SHARE</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/CommitmentsAndContingencies" id="CommitmentsAndContingencies">
        <link:definition>060600 - Disclosure - COMMITMENTS AND CONTINGENCIES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchases" id="ShareRepurchaseProgramAndShareRepurchases">
        <link:definition>060700 - Disclosure - SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies" id="BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies">
        <!--Parent Role: BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>070100 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesTables" id="BasisOfPresentationAndCertainSignificantAccountingPoliciesTables">
        <!--Parent Role: BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>080100 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/StockbasedCompensationTables" id="StockbasedCompensationTables">
        <!--Parent Role: STOCK-BASED COMPENSATION-->
        <link:definition>080400 - Disclosure - STOCK-BASED COMPENSATION (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/EarningsPerShareTables" id="EarningsPerShareTables">
        <!--Parent Role: EARNINGS PER SHARE-->
        <link:definition>080500 - Disclosure - EARNINGS PER SHARE (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails" id="BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails">
        <!--Parent Role: BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090100 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Basis of Presentation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails" id="BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails">
        <!--Parent Role: BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090102 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Revenue Recognition and Discounts (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesDiscountsDetails" id="BasisOfPresentationAndCertainSignificantAccountingPoliciesDiscountsDetails">
        <!--Parent Role: BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090104 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Discounts (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails" id="BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails">
        <!--Parent Role: BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090106 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Property and Equipment, Net of Accumulated Depreciation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesInventoryDetails" id="BasisOfPresentationAndCertainSignificantAccountingPoliciesInventoryDetails">
        <!--Parent Role: BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090108 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Inventory (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails" id="BasisOfPresentationAndCertainSignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails">
        <!--Parent Role: BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090110 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Fair Value of Financial Instruments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails" id="BasisOfPresentationAndCertainSignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails">
        <!--Parent Role: BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090112 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Accounts Receivable and Expected Credit Losses (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails" id="BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails">
        <!--Parent Role: BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES-->
        <link:definition>090114 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Other Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails" id="NotesPayableAndLongtermDebtDetails">
        <!--Parent Role: NOTES PAYABLE AND LONG-TERM DEBT-->
        <link:definition>090200 - Disclosure - NOTES PAYABLE AND LONG-TERM DEBT (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/IncomeTaxDetails" id="IncomeTaxDetails">
        <!--Parent Role: INCOME TAX-->
        <link:definition>090300 - Disclosure - INCOME TAX (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails" id="StockbasedCompensation2013And2023RestrictedStockPlansDetails">
        <!--Parent Role: STOCK-BASED COMPENSATION-->
        <link:definition>090400 - Disclosure - STOCK-BASED COMPENSATION, 2013 and 2023 Restricted Stock Plans (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails" id="StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails">
        <!--Parent Role: STOCK-BASED COMPENSATION-->
        <link:definition>090402 - Disclosure - STOCK-BASED COMPENSATION, Summary of Activity for Non-vested Restricted Stock Unit Awards (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails" id="StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails">
        <!--Parent Role: STOCK-BASED COMPENSATION-->
        <link:definition>090404 - Disclosure - STOCK-BASED COMPENSATION, Non-vested Service-based Restricted Stock Unit Awards (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/EarningsPerShareDetails" id="EarningsPerShareDetails">
        <!--Parent Role: EARNINGS PER SHARE-->
        <link:definition>090500 - Disclosure - EARNINGS PER SHARE (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchasesDetails" id="ShareRepurchaseProgramAndShareRepurchasesDetails">
        <!--Parent Role: SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES-->
        <link:definition>090700 - Disclosure - SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <xs:import namespace="http://fasb.org/us-gaap/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/dei/2024" schemaLocation="https://xbrl.sec.gov/dei/2024/dei-2024.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/country/2024" schemaLocation="https://xbrl.sec.gov/country/2024/country-2024.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/currency/2024" schemaLocation="https://xbrl.sec.gov/currency/2024/currency-2024.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/exch/2024" schemaLocation="https://xbrl.sec.gov/exch/2024/exch-2024.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/naics/2024" schemaLocation="https://xbrl.sec.gov/naics/2024/naics-2024.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/sic/2024" schemaLocation="https://xbrl.sec.gov/sic/2024/sic-2024.xsd" />
  <xs:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
  <xs:import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/stpr/2024" schemaLocation="https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd" />
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
  <xs:import namespace="http://www.xbrl.org/2004/ref" schemaLocation="http://www.xbrl.org/2004/ref-2004-08-10.xsd" />
  <xs:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
  <xs:import namespace="http://fasb.org/us-types/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd" />
  <xs:import namespace="http://www.xbrl.org/2009/arcrole/fact-explanatoryFact" schemaLocation="http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd" />
  <xs:import namespace="http://fasb.org/srt/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd" />
  <xs:import namespace="http://fasb.org/srt-types/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd" />
  <xs:import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/ecd/2024" schemaLocation="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd" />
  <xs:element name="ServicedBasedRestrictedStockUnitsRSUsMember" id="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="PerformanceBasedRestrictedStockUnitsRSUsMember" id="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" id="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" id="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="RestrictedStockAndRestrictedStockUnitsMember" id="tlfa_RestrictedStockAndRestrictedStockUnitsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="NonEmployeeDirectorMember" id="tlfa_NonEmployeeDirectorMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="TwoThousandAndThirteenRestrictedStockPlanMember" id="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="TwoThousandAndTwentyThreeRestrictedStockPlanMember" id="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="BusinessDescriptionAbstract" id="tlfa_BusinessDescriptionAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="FairValueOfFinancialInstrumentsAbstract" id="tlfa_FairValueOfFinancialInstrumentsAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="DiscountsAbstract" id="tlfa_DiscountsAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="NumberOfClassesOfCustomerDiscounts" id="tlfa_NumberOfClassesOfCustomerDiscounts" type="xbrli:integerItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract" id="tlfa_SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="ShareRepurchaseProgramAndShareRepurchasesTextBlock" id="tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="AccountsReceivableAndExpectedCreditLossesAbstract" id="tlfa_AccountsReceivableAndExpectedCreditLossesAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="StockRepurchaseProgramAbstract" id="tlfa_StockRepurchaseProgramAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="RevenueRecognitionDiscountsPolicyTextBlock" id="tlfa_RevenueRecognitionDiscountsPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="OtherCountriesMember" id="tlfa_OtherCountriesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="AllOtherCountriesMember" id="tlfa_AllOtherCountriesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="InventoryMerchandiseExpectedToBeReturned" id="tlfa_InventoryMerchandiseExpectedToBeReturned" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="GiftCardRedemptionPeriod" id="tlfa_GiftCardRedemptionPeriod" type="xbrli:durationItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="JPMorganChaseBankNAMember" id="tlfa_JPMorganChaseBankNAMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>5
<FILENAME>tlfa-20240630_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by Broadridge PROfile 24.6.2.5244 Broadridge-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:arcroleRef arcroleURI="https://xbrl.org/2023/arcrole/summation-item" xlink:type="simple" xlink:href="https://www.xbrl.org/2023/calculation-1.1.xsd#summation-item" />
  <link:roleRef roleURI="http://tandyleather.com/role/EarningsPerShareDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#EarningsPerShareDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesInventoryDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesInventoryDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="tlfa-20240630.xsd#CondensedConsolidatedStatementsOfCashFlows" />
  <link:roleRef roleURI="http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" xlink:type="simple" xlink:href="tlfa-20240630.xsd#CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" />
  <link:roleRef roleURI="http://tandyleather.com/role/CondensedConsolidatedBalanceSheets" xlink:type="simple" xlink:href="tlfa-20240630.xsd#CondensedConsolidatedBalanceSheets" />
  <link:calculationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/CondensedConsolidatedBalanceSheets">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" xlink:title="LiabilitiesAndStockholdersEquity" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="TreasuryStockCommonValue" xlink:title="TreasuryStockCommonValue" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="TreasuryStockCommonValue" xlink:title="calculation: StockholdersEquity to TreasuryStockCommonValue" order="4.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="CommonStockValue" xlink:title="CommonStockValue" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="CommonStockValue" xlink:title="calculation: StockholdersEquity to CommonStockValue" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="RetainedEarningsAccumulatedDeficit" xlink:title="RetainedEarningsAccumulatedDeficit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="RetainedEarningsAccumulatedDeficit" xlink:title="calculation: StockholdersEquity to RetainedEarningsAccumulatedDeficit" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="AdditionalPaidInCapital" xlink:title="AdditionalPaidInCapital" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="AdditionalPaidInCapital" xlink:title="calculation: StockholdersEquity to AdditionalPaidInCapital" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="calculation: StockholdersEquity to AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="6.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="StockholdersEquity" xlink:title="calculation: LiabilitiesAndStockholdersEquity to StockholdersEquity" order="11.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="LiabilitiesCurrent" xlink:title="LiabilitiesCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="TaxesPayableCurrent" xlink:title="TaxesPayableCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="TaxesPayableCurrent" xlink:title="calculation: LiabilitiesCurrent to TaxesPayableCurrent" order="7.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableTradeCurrent" xlink:label="AccountsPayableTradeCurrent" xlink:title="AccountsPayableTradeCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="AccountsPayableTradeCurrent" xlink:title="calculation: LiabilitiesCurrent to AccountsPayableTradeCurrent" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:label="AccruedLiabilitiesAndOtherLiabilities" xlink:title="AccruedLiabilitiesAndOtherLiabilities" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="AccruedLiabilitiesAndOtherLiabilities" xlink:title="calculation: LiabilitiesCurrent to AccruedLiabilitiesAndOtherLiabilities" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="OperatingLeaseLiabilityCurrent" xlink:title="calculation: LiabilitiesCurrent to OperatingLeaseLiabilityCurrent" order="5.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="LiabilitiesCurrent" xlink:title="calculation: LiabilitiesAndStockholdersEquity to LiabilitiesCurrent" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="OperatingLeaseLiabilityNoncurrent" xlink:title="OperatingLeaseLiabilityNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="OperatingLeaseLiabilityNoncurrent" xlink:title="calculation: LiabilitiesAndStockholdersEquity to OperatingLeaseLiabilityNoncurrent" order="8.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="LiabilityForUncertainTaxPositionsNoncurrent" xlink:title="LiabilityForUncertainTaxPositionsNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="LiabilityForUncertainTaxPositionsNoncurrent" xlink:title="calculation: LiabilitiesAndStockholdersEquity to LiabilityForUncertainTaxPositionsNoncurrent" order="6.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="OtherLiabilitiesNoncurrent" xlink:title="OtherLiabilitiesNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="OtherLiabilitiesNoncurrent" xlink:title="calculation: LiabilitiesAndStockholdersEquity to OtherLiabilitiesNoncurrent" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="FinanceLeaseLiabilityNoncurrent" xlink:title="FinanceLeaseLiabilityNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="FinanceLeaseLiabilityNoncurrent" xlink:title="calculation: LiabilitiesAndStockholdersEquity to FinanceLeaseLiabilityNoncurrent" order="7.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="DeferredIncomeTaxLiabilitiesNet" xlink:title="DeferredIncomeTaxLiabilitiesNet" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="DeferredIncomeTaxLiabilitiesNet" xlink:title="calculation: LiabilitiesAndStockholdersEquity to DeferredIncomeTaxLiabilitiesNet" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="Assets" xlink:title="Assets" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="FinanceLeaseRightOfUseAsset" xlink:title="FinanceLeaseRightOfUseAsset" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="Assets" xlink:to="FinanceLeaseRightOfUseAsset" xlink:title="calculation: Assets to FinanceLeaseRightOfUseAsset" order="7.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="AssetsCurrent" xlink:title="AssetsCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="PrepaidExpenseCurrent" xlink:title="PrepaidExpenseCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="PrepaidExpenseCurrent" xlink:title="calculation: AssetsCurrent to PrepaidExpenseCurrent" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="AccountsReceivableNetCurrent" xlink:title="calculation: AssetsCurrent to AccountsReceivableNetCurrent" order="7.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="CashAndCashEquivalentsAtCarryingValue" xlink:title="CashAndCashEquivalentsAtCarryingValue" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="CashAndCashEquivalentsAtCarryingValue" xlink:title="calculation: AssetsCurrent to CashAndCashEquivalentsAtCarryingValue" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="InventoryNet" xlink:title="calculation: AssetsCurrent to InventoryNet" order="8.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="IncomeTaxesReceivable" xlink:title="IncomeTaxesReceivable" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="IncomeTaxesReceivable" xlink:title="calculation: AssetsCurrent to IncomeTaxesReceivable" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsCurrent" xlink:label="OtherAssetsCurrent" xlink:title="OtherAssetsCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="OtherAssetsCurrent" xlink:title="calculation: AssetsCurrent to OtherAssetsCurrent" order="4.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="Assets" xlink:to="AssetsCurrent" xlink:title="calculation: Assets to AssetsCurrent" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="PropertyPlantAndEquipmentNet" xlink:to="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="calculation: PropertyPlantAndEquipmentNet to AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="2.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="PropertyPlantAndEquipmentGross" xlink:title="PropertyPlantAndEquipmentGross" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="PropertyPlantAndEquipmentNet" xlink:to="PropertyPlantAndEquipmentGross" xlink:title="calculation: PropertyPlantAndEquipmentNet to PropertyPlantAndEquipmentGross" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="Assets" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="calculation: Assets to PropertyPlantAndEquipmentNet" order="6.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="Assets" xlink:to="OperatingLeaseRightOfUseAsset" xlink:title="calculation: Assets to OperatingLeaseRightOfUseAsset" order="8.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="DeferredIncomeTaxAssetsNet" xlink:title="DeferredIncomeTaxAssetsNet" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="Assets" xlink:to="DeferredIncomeTaxAssetsNet" xlink:title="calculation: Assets to DeferredIncomeTaxAssetsNet" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="OtherAssetsNoncurrent" xlink:title="OtherAssetsNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="Assets" xlink:to="OtherAssetsNoncurrent" xlink:title="calculation: Assets to OtherAssetsNoncurrent" order="4.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:title="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="calculation: ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest to OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="NetIncomeLoss" xlink:to="IncomeTaxExpenseBenefit" xlink:title="calculation: NetIncomeLoss to IncomeTaxExpenseBenefit" order="2.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="NonoperatingIncomeExpense" xlink:title="NonoperatingIncomeExpense" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeExpenseNet" xlink:label="InterestIncomeExpenseNet" xlink:title="InterestIncomeExpenseNet" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="NonoperatingIncomeExpense" xlink:to="InterestIncomeExpenseNet" xlink:title="calculation: NonoperatingIncomeExpense to InterestIncomeExpenseNet" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="OtherNonoperatingIncomeExpense" xlink:title="OtherNonoperatingIncomeExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="NonoperatingIncomeExpense" xlink:to="OtherNonoperatingIncomeExpense" xlink:title="calculation: NonoperatingIncomeExpense to OtherNonoperatingIncomeExpense" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="NonoperatingIncomeExpense" xlink:title="calculation: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to NonoperatingIncomeExpense" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="OperatingIncomeLoss" xlink:title="OperatingIncomeLoss" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="GrossProfit" xlink:title="GrossProfit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="CostOfGoodsAndServicesSold" xlink:title="CostOfGoodsAndServicesSold" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="GrossProfit" xlink:to="CostOfGoodsAndServicesSold" xlink:title="calculation: GrossProfit to CostOfGoodsAndServicesSold" order="2.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="GrossProfit" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="calculation: GrossProfit to RevenueFromContractWithCustomerExcludingAssessedTax" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="OperatingIncomeLoss" xlink:to="GrossProfit" xlink:title="calculation: OperatingIncomeLoss to GrossProfit" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingCostsAndExpenses" xlink:label="OperatingCostsAndExpenses" xlink:title="OperatingCostsAndExpenses" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="OperatingIncomeLoss" xlink:to="OperatingCostsAndExpenses" xlink:title="calculation: OperatingIncomeLoss to OperatingCostsAndExpenses" order="2.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="OperatingIncomeLoss" xlink:title="calculation: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to OperatingIncomeLoss" order="2.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="NetIncomeLoss" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="calculation: NetIncomeLoss to IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="NetIncomeLoss" xlink:title="calculation: ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest to NetIncomeLoss" order="1.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="NetCashProvidedByUsedInInvestingActivities" xlink:title="NetCashProvidedByUsedInInvestingActivities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInInvestingActivities" xlink:to="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="calculation: NetCashProvidedByUsedInInvestingActivities to PaymentsToAcquirePropertyPlantAndEquipment" order="1.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="NetCashProvidedByUsedInInvestingActivities" xlink:title="calculation: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to NetCashProvidedByUsedInInvestingActivities" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="NetCashProvidedByUsedInFinancingActivities" xlink:title="NetCashProvidedByUsedInFinancingActivities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="FinanceLeasePrincipalPayments" xlink:title="FinanceLeasePrincipalPayments" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="FinanceLeasePrincipalPayments" xlink:title="calculation: NetCashProvidedByUsedInFinancingActivities to FinanceLeasePrincipalPayments" order="4.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="NetCashProvidedByUsedInFinancingActivities" xlink:title="calculation: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to NetCashProvidedByUsedInFinancingActivities" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="calculation: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="NetCashProvidedByUsedInOperatingActivities" xlink:title="NetCashProvidedByUsedInOperatingActivities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="NetIncomeLoss" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to NetIncomeLoss" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:label="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:title="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="IncreaseDecreaseInInventories" xlink:title="IncreaseDecreaseInInventories" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInInventories" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInInventories" order="1.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="IncreaseDecreaseInOtherNoncurrentAssets" xlink:title="IncreaseDecreaseInOtherNoncurrentAssets" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInOtherNoncurrentAssets" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInOtherNoncurrentAssets" order="13.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="IncreaseDecreaseInAccountsPayable" xlink:title="IncreaseDecreaseInAccountsPayable" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInAccountsPayable" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInAccountsPayable" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="IncreaseDecreaseInOperatingLeaseLiability" xlink:title="IncreaseDecreaseInOperatingLeaseLiability" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInOperatingLeaseLiability" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInOperatingLeaseLiability" order="14.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="IncreaseDecreaseInAccountsReceivable" xlink:title="IncreaseDecreaseInAccountsReceivable" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInAccountsReceivable" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInAccountsReceivable" order="0.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="IncreaseDecreaseInDeferredIncomeTaxes" xlink:title="IncreaseDecreaseInDeferredIncomeTaxes" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInDeferredIncomeTaxes" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInDeferredIncomeTaxes" order="7.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="IncreaseDecreaseInOtherCurrentAssets" xlink:title="IncreaseDecreaseInOtherCurrentAssets" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInOtherCurrentAssets" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInOtherCurrentAssets" order="4.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="IncreaseDecreaseInPrepaidExpense" xlink:title="IncreaseDecreaseInPrepaidExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInPrepaidExpense" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInPrepaidExpense" order="2.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="IncreaseDecreaseInAccruedLiabilities" xlink:title="IncreaseDecreaseInAccruedLiabilities" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInAccruedLiabilities" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInAccruedLiabilities" order="6.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSoldDepreciation" xlink:label="CostOfGoodsAndServicesSoldDepreciation" xlink:title="CostOfGoodsAndServicesSoldDepreciation" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="CostOfGoodsAndServicesSoldDepreciation" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to CostOfGoodsAndServicesSoldDepreciation" order="8.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="DeferredIncomeTaxesAndTaxCredits" xlink:title="DeferredIncomeTaxesAndTaxCredits" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="DeferredIncomeTaxesAndTaxCredits" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to DeferredIncomeTaxesAndTaxCredits" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="ShareBasedCompensation" xlink:title="ShareBasedCompensation" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="ShareBasedCompensation" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to ShareBasedCompensation" order="11.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:title="OperatingLeaseRightOfUseAssetAmortizationExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:title="calculation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to OperatingLeaseRightOfUseAssetAmortizationExpense" order="9.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="NetCashProvidedByUsedInOperatingActivities" xlink:title="calculation: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to NetCashProvidedByUsedInOperatingActivities" order="2.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesInventoryDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherInventoryInTransit" xlink:label="OtherInventoryInTransit" xlink:title="OtherInventoryInTransit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="OtherInventoryInTransit" xlink:title="calculation: InventoryNet to OtherInventoryInTransit" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods" xlink:label="InventoryFinishedGoods" xlink:title="InventoryFinishedGoods" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="InventoryFinishedGoods" xlink:title="calculation: InventoryNet to InventoryFinishedGoods" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:label="InventoryWorkInProcessAndRawMaterials" xlink:title="InventoryWorkInProcessAndRawMaterials" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="InventoryWorkInProcessAndRawMaterials" xlink:title="calculation: InventoryNet to InventoryWorkInProcessAndRawMaterials" order="1.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:title="calculation: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized to EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:title="calculation: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized to EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:title="calculation: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized to EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" xlink:title="calculation: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized to EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:title="calculation: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized to EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" order="4.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/EarningsPerShareDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="calculation: WeightedAverageNumberOfDilutedSharesOutstanding to WeightedAverageNumberOfSharesOutstandingBasic" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="calculation: WeightedAverageNumberOfDilutedSharesOutstanding to IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" order="0.0" weight="1.0" />
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>6
<FILENAME>tlfa-20240630_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by Broadridge PROfile 24.6.2.5244 Broadridge-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:t1="http://xbrl.org/2005/xbrldt">
  <link:roleRef roleURI="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xlink:type="simple" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd#eedm" />
  <link:roleRef roleURI="http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchasesDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#ShareRepurchaseProgramAndShareRepurchasesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/EarningsPerShareDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#EarningsPerShareDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#StockbasedCompensation2013And2023RestrictedStockPlansDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTaxDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#IncomeTaxDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#NotesPayableAndLongtermDebtDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesInventoryDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesInventoryDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesDiscountsDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesDiscountsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/EarningsPerShareTables" xlink:type="simple" xlink:href="tlfa-20240630.xsd#EarningsPerShareTables" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockbasedCompensationTables" xlink:type="simple" xlink:href="tlfa-20240630.xsd#StockbasedCompensationTables" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesTables" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesTables" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies" />
  <link:roleRef roleURI="http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchases" xlink:type="simple" xlink:href="tlfa-20240630.xsd#ShareRepurchaseProgramAndShareRepurchases" />
  <link:roleRef roleURI="http://tandyleather.com/role/CommitmentsAndContingencies" xlink:type="simple" xlink:href="tlfa-20240630.xsd#CommitmentsAndContingencies" />
  <link:roleRef roleURI="http://tandyleather.com/role/EarningsPerShare" xlink:type="simple" xlink:href="tlfa-20240630.xsd#EarningsPerShare" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockbasedCompensation" xlink:type="simple" xlink:href="tlfa-20240630.xsd#StockbasedCompensation" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTax" xlink:type="simple" xlink:href="tlfa-20240630.xsd#IncomeTax" />
  <link:roleRef roleURI="http://tandyleather.com/role/NotesPayableAndLongtermDebt" xlink:type="simple" xlink:href="tlfa-20240630.xsd#NotesPayableAndLongtermDebt" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPolicies" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPolicies" />
  <link:roleRef roleURI="http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity" xlink:type="simple" xlink:href="tlfa-20240630.xsd#CondensedConsolidatedStatementsOfStockholdersEquity" />
  <link:roleRef roleURI="http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="tlfa-20240630.xsd#CondensedConsolidatedStatementsOfCashFlows" />
  <link:roleRef roleURI="http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" xlink:type="simple" xlink:href="tlfa-20240630.xsd#CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" />
  <link:roleRef roleURI="http://tandyleather.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="tlfa-20240630.xsd#CondensedConsolidatedBalanceSheetsParenthetical" />
  <link:roleRef roleURI="http://tandyleather.com/role/CondensedConsolidatedBalanceSheets" xlink:type="simple" xlink:href="tlfa-20240630.xsd#CondensedConsolidatedBalanceSheets" />
  <link:roleRef roleURI="http://tandyleather.com/role/DocumentAndEntityInformation" xlink:type="simple" xlink:href="tlfa-20240630.xsd#DocumentAndEntityInformation" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/DocumentAndEntityInformation" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/CondensedConsolidatedBalanceSheets" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/CondensedConsolidatedBalanceSheetsParenthetical" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="StatementLineItems" xlink:title="StatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="IncreaseDecreaseInStockholdersEquityRollForward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="definition: StatementLineItems to IncreaseDecreaseInStockholdersEquityRollForward" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockholdersEquity" xlink:title="definition: StatementLineItems to StockholdersEquity" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="SharesOutstanding" xlink:title="SharesOutstanding" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="SharesOutstanding" xlink:title="definition: StatementLineItems to SharesOutstanding" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="definition: StatementLineItems to AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:label="StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:title="StockIssuedDuringPeriodValueRestrictedStockAwardGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:title="definition: StatementLineItems to StockIssuedDuringPeriodValueRestrictedStockAwardGross" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:title="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:title="definition: StatementLineItems to StockIssuedDuringPeriodSharesRestrictedStockAwardGross" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:label="StockRepurchasedAndRetiredDuringPeriodValue" xlink:title="StockRepurchasedAndRetiredDuringPeriodValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockRepurchasedAndRetiredDuringPeriodValue" xlink:title="definition: StatementLineItems to StockRepurchasedAndRetiredDuringPeriodValue" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:label="StockRepurchasedAndRetiredDuringPeriodShares" xlink:title="StockRepurchasedAndRetiredDuringPeriodShares" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockRepurchasedAndRetiredDuringPeriodShares" xlink:title="definition: StatementLineItems to StockRepurchasedAndRetiredDuringPeriodShares" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="definition: StatementLineItems to AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" order="9.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="definition: StatementLineItems to SharesPaidForTaxWithholdingForShareBasedCompensation" order="10.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:label="TreasuryStockValueAcquiredCostMethod" xlink:title="TreasuryStockValueAcquiredCostMethod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="TreasuryStockValueAcquiredCostMethod" xlink:title="definition: StatementLineItems to TreasuryStockValueAcquiredCostMethod" order="11.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="TreasuryStockSharesAcquired" xlink:title="TreasuryStockSharesAcquired" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="TreasuryStockSharesAcquired" xlink:title="definition: StatementLineItems to TreasuryStockSharesAcquired" order="12.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="NetIncomeLoss" xlink:title="definition: StatementLineItems to NetIncomeLoss" order="13.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="definition: StatementLineItems to OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="14.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="StatementTable" xlink:title="StatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="StatementLineItems" xlink:to="StatementTable" xlink:title="definition: StatementLineItems to StatementTable" order="15.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="StatementEquityComponentsAxis" xlink:title="StatementEquityComponentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="StatementTable" xlink:to="StatementEquityComponentsAxis" xlink:title="definition: StatementTable to StatementEquityComponentsAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="EquityComponentDomain" xlink:title="EquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementEquityComponentsAxis" xlink:to="EquityComponentDomain" xlink:title="definition: StatementEquityComponentsAxis to EquityComponentDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="EquityComponentDomain_2" xlink:title="EquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementEquityComponentsAxis" xlink:to="EquityComponentDomain_2" xlink:title="definition: StatementEquityComponentsAxis to EquityComponentDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="CommonStockMember" xlink:title="CommonStockMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="CommonStockMember" xlink:title="definition: EquityComponentDomain to CommonStockMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="AdditionalPaidInCapitalMember" xlink:title="AdditionalPaidInCapitalMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="AdditionalPaidInCapitalMember" xlink:title="definition: EquityComponentDomain to AdditionalPaidInCapitalMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="TreasuryStockCommonMember" xlink:title="TreasuryStockCommonMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="TreasuryStockCommonMember" xlink:title="definition: EquityComponentDomain to TreasuryStockCommonMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="RetainedEarningsMember" xlink:title="RetainedEarningsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="RetainedEarningsMember" xlink:title="definition: EquityComponentDomain to RetainedEarningsMember" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="AccumulatedOtherComprehensiveIncomeMember" xlink:title="AccumulatedOtherComprehensiveIncomeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="AccumulatedOtherComprehensiveIncomeMember" xlink:title="definition: EquityComponentDomain to AccumulatedOtherComprehensiveIncomeMember" order="5.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPolicies" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/NotesPayableAndLongtermDebt" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTax" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockbasedCompensation" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/EarningsPerShare" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/CommitmentsAndContingencies" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchases" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockbasedCompensationTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/EarningsPerShareTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="SegmentReportingInformationLineItems" xlink:title="SegmentReportingInformationLineItems" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_BusinessDescriptionAbstract" xlink:label="BusinessDescriptionAbstract" xlink:title="BusinessDescriptionAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentReportingInformationLineItems" xlink:to="BusinessDescriptionAbstract" xlink:title="definition: SegmentReportingInformationLineItems to BusinessDescriptionAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfStores" xlink:label="NumberOfStores" xlink:title="NumberOfStores" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentReportingInformationLineItems" xlink:to="NumberOfStores" xlink:title="definition: SegmentReportingInformationLineItems to NumberOfStores" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="NumberOfOperatingSegments" xlink:title="NumberOfOperatingSegments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentReportingInformationLineItems" xlink:to="NumberOfOperatingSegments" xlink:title="definition: SegmentReportingInformationLineItems to NumberOfOperatingSegments" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportableSegments" xlink:label="NumberOfReportableSegments" xlink:title="NumberOfReportableSegments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentReportingInformationLineItems" xlink:to="NumberOfReportableSegments" xlink:title="definition: SegmentReportingInformationLineItems to NumberOfReportableSegments" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="ScheduleOfSegmentReportingInformationBySegmentTable" xlink:title="ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="SegmentReportingInformationLineItems" xlink:to="ScheduleOfSegmentReportingInformationBySegmentTable" xlink:title="definition: SegmentReportingInformationLineItems to ScheduleOfSegmentReportingInformationBySegmentTable" order="5.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="StatementGeographicalAxis" xlink:title="definition: ScheduleOfSegmentReportingInformationBySegmentTable to StatementGeographicalAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain_2" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain_2" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="definition: SegmentGeographicalDomain to US" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="CA" xlink:title="CA" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="CA" xlink:title="definition: SegmentGeographicalDomain to CA" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_ES" xlink:label="ES" xlink:title="ES" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="ES" xlink:title="definition: SegmentGeographicalDomain to ES" order="3.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="DisaggregationOfRevenueLineItems" xlink:title="DisaggregationOfRevenueLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="RevenueFromContractWithCustomerAbstract" xlink:title="RevenueFromContractWithCustomerAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="RevenueFromContractWithCustomerAbstract" xlink:title="definition: DisaggregationOfRevenueLineItems to RevenueFromContractWithCustomerAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="DisaggregationOfRevenueAbstract" xlink:title="DisaggregationOfRevenueAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="DisaggregationOfRevenueAbstract" xlink:title="definition: DisaggregationOfRevenueLineItems to DisaggregationOfRevenueAbstract" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="definition: DisaggregationOfRevenueLineItems to RevenueFromContractWithCustomerExcludingAssessedTax" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="ConcentrationRiskPercentage1" xlink:title="ConcentrationRiskPercentage1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="ConcentrationRiskPercentage1" xlink:title="definition: DisaggregationOfRevenueLineItems to ConcentrationRiskPercentage1" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:label="ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:title="ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:title="definition: DisaggregationOfRevenueLineItems to ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_InventoryMerchandiseExpectedToBeReturned" xlink:label="InventoryMerchandiseExpectedToBeReturned" xlink:title="InventoryMerchandiseExpectedToBeReturned" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="InventoryMerchandiseExpectedToBeReturned" xlink:title="definition: DisaggregationOfRevenueLineItems to InventoryMerchandiseExpectedToBeReturned" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_GiftCardRedemptionPeriod" xlink:label="GiftCardRedemptionPeriod" xlink:title="GiftCardRedemptionPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="GiftCardRedemptionPeriod" xlink:title="definition: DisaggregationOfRevenueLineItems to GiftCardRedemptionPeriod" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="ContractWithCustomerLiability" xlink:title="ContractWithCustomerLiability" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="ContractWithCustomerLiability" xlink:title="definition: DisaggregationOfRevenueLineItems to ContractWithCustomerLiability" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="ContractWithCustomerLiabilityRevenueRecognized" xlink:title="ContractWithCustomerLiabilityRevenueRecognized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="ContractWithCustomerLiabilityRevenueRecognized" xlink:title="definition: DisaggregationOfRevenueLineItems to ContractWithCustomerLiabilityRevenueRecognized" order="9.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueRevenueRecognized1" xlink:label="DeferredRevenueRevenueRecognized1" xlink:title="DeferredRevenueRevenueRecognized1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="DeferredRevenueRevenueRecognized1" xlink:title="definition: DisaggregationOfRevenueLineItems to DeferredRevenueRevenueRecognized1" order="10.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="DisaggregationOfRevenueTable" xlink:title="DisaggregationOfRevenueTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="DisaggregationOfRevenueTable" xlink:title="definition: DisaggregationOfRevenueLineItems to DisaggregationOfRevenueTable" order="11.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DisaggregationOfRevenueTable" xlink:to="RangeAxis" xlink:title="definition: DisaggregationOfRevenueTable to RangeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DisaggregationOfRevenueTable" xlink:to="StatementGeographicalAxis" xlink:title="definition: DisaggregationOfRevenueTable to StatementGeographicalAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain_2" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain_2" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="definition: SegmentGeographicalDomain to US" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="CA" xlink:title="CA" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="CA" xlink:title="definition: SegmentGeographicalDomain to CA" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_OtherCountriesMember" xlink:label="OtherCountriesMember" xlink:title="OtherCountriesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="OtherCountriesMember" xlink:title="definition: SegmentGeographicalDomain to OtherCountriesMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_AllOtherCountriesMember" xlink:label="AllOtherCountriesMember" xlink:title="AllOtherCountriesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="AllOtherCountriesMember" xlink:title="definition: SegmentGeographicalDomain to AllOtherCountriesMember" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="ConcentrationRiskByTypeAxis" xlink:title="ConcentrationRiskByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DisaggregationOfRevenueTable" xlink:to="ConcentrationRiskByTypeAxis" xlink:title="definition: DisaggregationOfRevenueTable to ConcentrationRiskByTypeAxis" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="ConcentrationRiskTypeDomain" xlink:title="ConcentrationRiskTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ConcentrationRiskByTypeAxis" xlink:to="ConcentrationRiskTypeDomain" xlink:title="definition: ConcentrationRiskByTypeAxis to ConcentrationRiskTypeDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="ConcentrationRiskTypeDomain_2" xlink:title="ConcentrationRiskTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ConcentrationRiskByTypeAxis" xlink:to="ConcentrationRiskTypeDomain_2" xlink:title="definition: ConcentrationRiskByTypeAxis to ConcentrationRiskTypeDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="GeographicConcentrationRiskMember" xlink:title="GeographicConcentrationRiskMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskTypeDomain" xlink:to="GeographicConcentrationRiskMember" xlink:title="definition: ConcentrationRiskTypeDomain to GeographicConcentrationRiskMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="ConcentrationRiskByBenchmarkAxis" xlink:title="ConcentrationRiskByBenchmarkAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DisaggregationOfRevenueTable" xlink:to="ConcentrationRiskByBenchmarkAxis" xlink:title="definition: DisaggregationOfRevenueTable to ConcentrationRiskByBenchmarkAxis" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="ConcentrationRiskBenchmarkDomain" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ConcentrationRiskByBenchmarkAxis" xlink:to="ConcentrationRiskBenchmarkDomain" xlink:title="definition: ConcentrationRiskByBenchmarkAxis to ConcentrationRiskBenchmarkDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="ConcentrationRiskBenchmarkDomain_2" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ConcentrationRiskByBenchmarkAxis" xlink:to="ConcentrationRiskBenchmarkDomain_2" xlink:title="definition: ConcentrationRiskByBenchmarkAxis to ConcentrationRiskBenchmarkDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="SalesRevenueNetMember" xlink:title="SalesRevenueNetMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="SalesRevenueNetMember" xlink:title="definition: ConcentrationRiskBenchmarkDomain to SalesRevenueNetMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="BalanceSheetLocationAxis" xlink:title="BalanceSheetLocationAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DisaggregationOfRevenueTable" xlink:to="BalanceSheetLocationAxis" xlink:title="definition: DisaggregationOfRevenueTable to BalanceSheetLocationAxis" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="BalanceSheetLocationDomain" xlink:title="BalanceSheetLocationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="BalanceSheetLocationAxis" xlink:to="BalanceSheetLocationDomain" xlink:title="definition: BalanceSheetLocationAxis to BalanceSheetLocationDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="BalanceSheetLocationDomain_2" xlink:title="BalanceSheetLocationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="BalanceSheetLocationAxis" xlink:to="BalanceSheetLocationDomain_2" xlink:title="definition: BalanceSheetLocationAxis to BalanceSheetLocationDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="AccountsPayableAndAccruedLiabilitiesMember" xlink:title="AccountsPayableAndAccruedLiabilitiesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="BalanceSheetLocationDomain" xlink:to="AccountsPayableAndAccruedLiabilitiesMember" xlink:title="definition: BalanceSheetLocationDomain to AccountsPayableAndAccruedLiabilitiesMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesDiscountsDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="PropertyPlantAndEquipmentLineItems" xlink:title="PropertyPlantAndEquipmentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNetAbstract" xlink:label="PropertyPlantAndEquipmentNetAbstract" xlink:title="PropertyPlantAndEquipmentNetAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentNetAbstract" xlink:title="definition: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentNetAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="PropertyPlantAndEquipmentUsefulLife" xlink:title="PropertyPlantAndEquipmentUsefulLife" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentUsefulLife" xlink:title="definition: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentUsefulLife" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="definition: PropertyPlantAndEquipmentLineItems to ScheduleOfPropertyPlantAndEquipmentTable" order="3.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentByTypeAxis" xlink:title="definition: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentByTypeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain" xlink:title="definition: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain_2" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain_2" xlink:title="definition: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="MachineryAndEquipmentMember" xlink:title="MachineryAndEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="MachineryAndEquipmentMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to MachineryAndEquipmentMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="FurnitureAndFixturesMember" xlink:title="FurnitureAndFixturesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FurnitureAndFixturesMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to FurnitureAndFixturesMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VehiclesMember" xlink:label="VehiclesMember" xlink:title="VehiclesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="VehiclesMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to VehiclesMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="BuildingAndBuildingImprovementsMember" xlink:title="BuildingAndBuildingImprovementsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="BuildingAndBuildingImprovementsMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to BuildingAndBuildingImprovementsMember" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="RangeAxis" xlink:title="definition: ScheduleOfPropertyPlantAndEquipmentTable to RangeAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="definition: RangeMember to MinimumMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesInventoryDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="FiniteLivedIntangibleAssetsLineItems" xlink:title="FiniteLivedIntangibleAssetsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" xlink:title="FiniteLivedIntangibleAssetsNetAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsNetAbstract" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsNetAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:title="AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="AmortizationOfIntangibleAssets" xlink:title="AmortizationOfIntangibleAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="AmortizationOfIntangibleAssets" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to AmortizationOfIntangibleAssets" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to ScheduleOfFiniteLivedIntangibleAssetsTable" order="9.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="definition: ScheduleOfFiniteLivedIntangibleAssetsTable to FiniteLivedIntangibleAssetsByMajorClassAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="definition: FiniteLivedIntangibleAssetsByMajorClassAxis to FiniteLivedIntangibleAssetsMajorClassNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="FiniteLivedIntangibleAssetsMajorClassNameDomain_2" xlink:title="FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="FiniteLivedIntangibleAssetsMajorClassNameDomain_2" xlink:title="definition: FiniteLivedIntangibleAssetsByMajorClassAxis to FiniteLivedIntangibleAssetsMajorClassNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntellectualPropertyMember" xlink:label="IntellectualPropertyMember" xlink:title="IntellectualPropertyMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="IntellectualPropertyMember" xlink:title="definition: FiniteLivedIntangibleAssetsMajorClassNameDomain to IntellectualPropertyMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="RangeAxis" xlink:title="definition: ScheduleOfFiniteLivedIntangibleAssetsTable to RangeAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="DebtInstrumentLineItems" xlink:title="DebtInstrumentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentsAbstract" xlink:label="DebtInstrumentsAbstract" xlink:title="DebtInstrumentsAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentsAbstract" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentsAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="definition: DebtInstrumentLineItems to LineOfCreditFacilityMaximumBorrowingCapacity" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="ProceedsFromLinesOfCredit" xlink:title="ProceedsFromLinesOfCredit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="ProceedsFromLinesOfCredit" xlink:title="definition: DebtInstrumentLineItems to ProceedsFromLinesOfCredit" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable" xlink:label="DebtInstrumentTable" xlink:title="DebtInstrumentTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentTable" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentTable" order="4.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="LineOfCreditFacilityAxis" xlink:title="LineOfCreditFacilityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DebtInstrumentTable" xlink:to="LineOfCreditFacilityAxis" xlink:title="definition: DebtInstrumentTable to LineOfCreditFacilityAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="LineOfCreditFacilityLenderDomain" xlink:title="LineOfCreditFacilityLenderDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="LineOfCreditFacilityAxis" xlink:to="LineOfCreditFacilityLenderDomain" xlink:title="definition: LineOfCreditFacilityAxis to LineOfCreditFacilityLenderDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="LineOfCreditFacilityLenderDomain_2" xlink:title="LineOfCreditFacilityLenderDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="LineOfCreditFacilityAxis" xlink:to="LineOfCreditFacilityLenderDomain_2" xlink:title="definition: LineOfCreditFacilityAxis to LineOfCreditFacilityLenderDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_JPMorganChaseBankNAMember" xlink:label="JPMorganChaseBankNAMember" xlink:title="JPMorganChaseBankNAMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LineOfCreditFacilityLenderDomain" xlink:to="JPMorganChaseBankNAMember" xlink:title="definition: LineOfCreditFacilityLenderDomain to JPMorganChaseBankNAMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTaxDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="CommonStockCapitalSharesReservedForFutureIssuance" xlink:title="CommonStockCapitalSharesReservedForFutureIssuance" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="CommonStockCapitalSharesReservedForFutureIssuance" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to CommonStockCapitalSharesReservedForFutureIssuance" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="5.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="PlanNameAxis" xlink:title="PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="PlanNameAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to PlanNameAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="PlanNameDomain" xlink:title="PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain" xlink:title="definition: PlanNameAxis to PlanNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="PlanNameDomain_2" xlink:title="PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain_2" xlink:title="definition: PlanNameAxis to PlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_TwoThousandAndThirteenRestrictedStockPlanMember" xlink:label="TwoThousandAndThirteenRestrictedStockPlanMember" xlink:title="TwoThousandAndThirteenRestrictedStockPlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PlanNameDomain" xlink:to="TwoThousandAndThirteenRestrictedStockPlanMember" xlink:title="definition: PlanNameDomain to TwoThousandAndThirteenRestrictedStockPlanMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:label="TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:title="TwoThousandAndTwentyThreeRestrictedStockPlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PlanNameDomain" xlink:to="TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:title="definition: PlanNameDomain to TwoThousandAndTwentyThreeRestrictedStockPlanMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="RestrictedStockUnitsRSUMember" xlink:title="RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockUnitsRSUMember" xlink:title="definition: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockUnitsRSUMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_ServicedBasedRestrictedStockUnitsRSUsMember" xlink:label="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:title="ServicedBasedRestrictedStockUnitsRSUsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RestrictedStockUnitsRSUMember" xlink:to="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:title="definition: RestrictedStockUnitsRSUMember to ServicedBasedRestrictedStockUnitsRSUsMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="TitleOfIndividualAxis" xlink:title="TitleOfIndividualAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="TitleOfIndividualAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to TitleOfIndividualAxis" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="TitleOfIndividualWithRelationshipToEntityDomain" xlink:title="TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="TitleOfIndividualAxis" xlink:to="TitleOfIndividualWithRelationshipToEntityDomain" xlink:title="definition: TitleOfIndividualAxis to TitleOfIndividualWithRelationshipToEntityDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="TitleOfIndividualWithRelationshipToEntityDomain_2" xlink:title="TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="TitleOfIndividualAxis" xlink:to="TitleOfIndividualWithRelationshipToEntityDomain_2" xlink:title="definition: TitleOfIndividualAxis to TitleOfIndividualWithRelationshipToEntityDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_NonEmployeeDirectorMember" xlink:label="NonEmployeeDirectorMember" xlink:title="NonEmployeeDirectorMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="NonEmployeeDirectorMember" xlink:title="definition: TitleOfIndividualWithRelationshipToEntityDomain to NonEmployeeDirectorMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ChiefExecutiveOfficerMember" xlink:label="ChiefExecutiveOfficerMember" xlink:title="ChiefExecutiveOfficerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="ChiefExecutiveOfficerMember" xlink:title="definition: TitleOfIndividualWithRelationshipToEntityDomain to ChiefExecutiveOfficerMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="ShareBasedPaymentArrangementEmployeeMember" xlink:title="ShareBasedPaymentArrangementEmployeeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="ShareBasedPaymentArrangementEmployeeMember" xlink:title="definition: TitleOfIndividualWithRelationshipToEntityDomain to ShareBasedPaymentArrangementEmployeeMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_DirectorMember" xlink:label="DirectorMember" xlink:title="DirectorMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="DirectorMember" xlink:title="definition: TitleOfIndividualWithRelationshipToEntityDomain to DirectorMember" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="RangeAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to RangeAxis" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="definition: RangeMember to MinimumMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" order="9.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" order="10.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="11.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_RestrictedStockAndRestrictedStockUnitsMember" xlink:label="RestrictedStockAndRestrictedStockUnitsMember" xlink:title="RestrictedStockAndRestrictedStockUnitsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockAndRestrictedStockUnitsMember" xlink:title="definition: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockAndRestrictedStockUnitsMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAbstract" xlink:label="ShareBasedCompensationAbstract" xlink:title="ShareBasedCompensationAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationAbstract" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="AllocatedShareBasedCompensationExpense" xlink:title="AllocatedShareBasedCompensationExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="AllocatedShareBasedCompensationExpense" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to AllocatedShareBasedCompensationExpense" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:title="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to StockIssuedDuringPeriodSharesRestrictedStockAwardGross" order="9.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="10.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="RestrictedStockUnitsRSUMember" xlink:title="RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockUnitsRSUMember" xlink:title="definition: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockUnitsRSUMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_ServicedBasedRestrictedStockUnitsRSUsMember" xlink:label="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:title="ServicedBasedRestrictedStockUnitsRSUsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RestrictedStockUnitsRSUMember" xlink:to="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:title="definition: RestrictedStockUnitsRSUMember to ServicedBasedRestrictedStockUnitsRSUsMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:label="PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:title="PerformanceBasedRestrictedStockUnitsRSUsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RestrictedStockUnitsRSUMember" xlink:to="PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:title="definition: RestrictedStockUnitsRSUMember to PerformanceBasedRestrictedStockUnitsRSUsMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/EarningsPerShareDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDilutedLineItems" xlink:label="EarningsPerShareDilutedLineItems" xlink:title="EarningsPerShareDilutedLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAbstract" xlink:label="NetIncomeLossAbstract" xlink:title="NetIncomeLossAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="NetIncomeLossAbstract" xlink:title="definition: EarningsPerShareDilutedLineItems to NetIncomeLossAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:title="WeightedAverageNumberOfSharesOutstandingAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:title="definition: EarningsPerShareDilutedLineItems to WeightedAverageNumberOfSharesOutstandingAbstract" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="definition: EarningsPerShareDilutedLineItems to WeightedAverageNumberOfSharesOutstandingBasic" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="definition: EarningsPerShareDilutedLineItems to IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="definition: EarningsPerShareDilutedLineItems to WeightedAverageNumberOfDilutedSharesOutstanding" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="EarningsPerShareBasic" xlink:title="EarningsPerShareBasic" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="EarningsPerShareBasic" xlink:title="definition: EarningsPerShareDilutedLineItems to EarningsPerShareBasic" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="EarningsPerShareDiluted" xlink:title="EarningsPerShareDiluted" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="EarningsPerShareDiluted" xlink:title="definition: EarningsPerShareDilutedLineItems to EarningsPerShareDiluted" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="NetIncomeLoss" xlink:title="definition: EarningsPerShareDilutedLineItems to NetIncomeLoss" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:label="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:title="ScheduleOfEarningsPerShareDilutedByCommonClassTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:title="definition: EarningsPerShareDilutedLineItems to ScheduleOfEarningsPerShareDilutedByCommonClassTable" order="9.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:to="AwardTypeAxis" xlink:title="definition: ScheduleOfEarningsPerShareDilutedByCommonClassTable to AwardTypeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockMember" xlink:label="RestrictedStockMember" xlink:title="RestrictedStockMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockMember" xlink:title="definition: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="TitleOfIndividualAxis" xlink:title="TitleOfIndividualAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:to="TitleOfIndividualAxis" xlink:title="definition: ScheduleOfEarningsPerShareDilutedByCommonClassTable to TitleOfIndividualAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="TitleOfIndividualWithRelationshipToEntityDomain" xlink:title="TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="TitleOfIndividualAxis" xlink:to="TitleOfIndividualWithRelationshipToEntityDomain" xlink:title="definition: TitleOfIndividualAxis to TitleOfIndividualWithRelationshipToEntityDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="TitleOfIndividualWithRelationshipToEntityDomain_2" xlink:title="TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="TitleOfIndividualAxis" xlink:to="TitleOfIndividualWithRelationshipToEntityDomain_2" xlink:title="definition: TitleOfIndividualAxis to TitleOfIndividualWithRelationshipToEntityDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_DirectorMember" xlink:label="DirectorMember" xlink:title="DirectorMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="DirectorMember" xlink:title="definition: TitleOfIndividualWithRelationshipToEntityDomain to DirectorMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="ShareBasedPaymentArrangementEmployeeMember" xlink:title="ShareBasedPaymentArrangementEmployeeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="ShareBasedPaymentArrangementEmployeeMember" xlink:title="definition: TitleOfIndividualWithRelationshipToEntityDomain to ShareBasedPaymentArrangementEmployeeMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchasesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityClassOfTreasuryStockLineItems" xlink:label="EquityClassOfTreasuryStockLineItems" xlink:title="EquityClassOfTreasuryStockLineItems" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_StockRepurchaseProgramAbstract" xlink:label="StockRepurchaseProgramAbstract" xlink:title="StockRepurchaseProgramAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityClassOfTreasuryStockLineItems" xlink:to="StockRepurchaseProgramAbstract" xlink:title="definition: EquityClassOfTreasuryStockLineItems to StockRepurchaseProgramAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramAuthorizedAmount1" xlink:label="StockRepurchaseProgramAuthorizedAmount1" xlink:title="StockRepurchaseProgramAuthorizedAmount1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityClassOfTreasuryStockLineItems" xlink:to="StockRepurchaseProgramAuthorizedAmount1" xlink:title="definition: EquityClassOfTreasuryStockLineItems to StockRepurchaseProgramAuthorizedAmount1" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:label="StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:title="StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityClassOfTreasuryStockLineItems" xlink:to="StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:title="definition: EquityClassOfTreasuryStockLineItems to StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="ClassOfTreasuryStockTable" xlink:title="ClassOfTreasuryStockTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="EquityClassOfTreasuryStockLineItems" xlink:to="ClassOfTreasuryStockTable" xlink:title="definition: EquityClassOfTreasuryStockLineItems to ClassOfTreasuryStockTable" order="4.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ClassOfTreasuryStockTable" xlink:to="RangeAxis" xlink:title="definition: ClassOfTreasuryStockTable to RangeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>7
<FILENAME>tlfa-20240630_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by Broadridge PROfile 24.6.2.5244 Broadridge-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" />
  <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsReceivableNetCurrent" xml:lang="en-US" id="us-gaap_AccountsReceivableNetCurrent">Accounts receivable-trade, net of allowance for credit losses of $31 at June 30, 2024 and December 31, 2023.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent" xlink:title="label: AccountsReceivableNetCurrent to us-gaap_AccountsReceivableNetCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xml:lang="en-US" id="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">Accumulated other comprehensive loss, net of tax</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="label: AccumulatedOtherComprehensiveIncomeLossNetOfTax to us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:title="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xml:lang="en-US" id="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">Less accumulated depreciation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="label: AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment to us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1" xml:lang="en-US" id="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1" xlink:title="label: AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment to us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="AdditionalPaidInCapital" xlink:title="AdditionalPaidInCapital" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapital" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdditionalPaidInCapital" xml:lang="en-US" id="us-gaap_AdditionalPaidInCapital">Paid-in capital</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdditionalPaidInCapital" xlink:to="us-gaap_AdditionalPaidInCapital" xlink:title="label: AdditionalPaidInCapital to us-gaap_AdditionalPaidInCapital" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xml:lang="en-US" id="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">Allowance for credit losses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="label: AllowanceForDoubtfulAccountsReceivableCurrent to us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="AmortizationOfIntangibleAssets" xlink:title="AmortizationOfIntangibleAssets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AmortizationOfIntangibleAssets" xml:lang="en-US" id="us-gaap_AmortizationOfIntangibleAssets">Amortization expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:title="label: AmortizationOfIntangibleAssets to us-gaap_AmortizationOfIntangibleAssets" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockMember" xlink:label="RestrictedStockMember" xlink:title="RestrictedStockMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RestrictedStockMember" xml:lang="en-US" id="us-gaap_RestrictedStockMember">Restricted Stock [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RestrictedStockMember" xlink:to="us-gaap_RestrictedStockMember" xlink:title="label: RestrictedStockMember to us-gaap_RestrictedStockMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="StatementOfFinancialPositionAbstract" xlink:title="StatementOfFinancialPositionAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementOfFinancialPositionAbstract" xml:lang="en-US" id="us-gaap_StatementOfFinancialPositionAbstract">Condensed Consolidated Balance Sheets [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract" xlink:title="label: StatementOfFinancialPositionAbstract to us-gaap_StatementOfFinancialPositionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="EarningsPerShareBasic" xlink:title="EarningsPerShareBasic" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareBasic" xml:lang="en-US" id="us-gaap_EarningsPerShareBasic">Basic (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic" xlink:title="label: EarningsPerShareBasic to us-gaap_EarningsPerShareBasic" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasic1" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_EarningsPerShareBasic1" xml:lang="en-US" id="us-gaap_EarningsPerShareBasic1">Basic earnings per share (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic1" xlink:title="label: EarningsPerShareBasic to us-gaap_EarningsPerShareBasic1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="CashAndCashEquivalentsAtCarryingValue" xlink:title="CashAndCashEquivalentsAtCarryingValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CashAndCashEquivalentsAtCarryingValue" xml:lang="en-US" id="us-gaap_CashAndCashEquivalentsAtCarryingValue">Cash and cash equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:title="label: CashAndCashEquivalentsAtCarryingValue to us-gaap_CashAndCashEquivalentsAtCarryingValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl1" xml:lang="en-US" id="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl1">Cash and Cash Equivalents, at Carrying Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl1" xlink:title="label: CashAndCashEquivalentsAtCarryingValue to us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="CashAndCashEquivalentsPolicyTextBlock" xlink:title="CashAndCashEquivalentsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xml:lang="en-US" id="us-gaap_CashAndCashEquivalentsPolicyTextBlock">Cash and cash equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:title="label: CashAndCashEquivalentsPolicyTextBlock to us-gaap_CashAndCashEquivalentsPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="IncreaseDecreaseInAccountsReceivable" xlink:title="IncreaseDecreaseInAccountsReceivable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInAccountsReceivable" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccountsReceivable">Accounts receivable-trade</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:title="label: IncreaseDecreaseInAccountsReceivable to us-gaap_IncreaseDecreaseInAccountsReceivable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl1">Increase (Decrease) in Accounts Receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl1" xlink:title="label: IncreaseDecreaseInAccountsReceivable to us-gaap_IncreaseDecreaseInAccountsReceivable_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="IncreaseDecreaseInInventories" xlink:title="IncreaseDecreaseInInventories" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInInventories" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInInventories">Inventory</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories" xlink:title="label: IncreaseDecreaseInInventories to us-gaap_IncreaseDecreaseInInventories" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInInventories_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInInventories_lbl1">Increase (Decrease) in Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl1" xlink:title="label: IncreaseDecreaseInInventories to us-gaap_IncreaseDecreaseInInventories_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="IncreaseDecreaseInPrepaidExpense" xlink:title="IncreaseDecreaseInPrepaidExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInPrepaidExpense" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInPrepaidExpense">Prepaid expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInPrepaidExpense" xlink:to="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:title="label: IncreaseDecreaseInPrepaidExpense to us-gaap_IncreaseDecreaseInPrepaidExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInPrepaidExpense_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInPrepaidExpense_lbl1">Increase (Decrease) in Prepaid Expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInPrepaidExpense" xlink:to="us-gaap_IncreaseDecreaseInPrepaidExpense_lbl1" xlink:title="label: IncreaseDecreaseInPrepaidExpense to us-gaap_IncreaseDecreaseInPrepaidExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="IncreaseDecreaseInOperatingCapitalAbstract" xlink:title="IncreaseDecreaseInOperatingCapitalAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">Changes in operating assets and liabilities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:title="label: IncreaseDecreaseInOperatingCapitalAbstract to us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="IncreaseDecreaseInAccountsPayable" xlink:title="IncreaseDecreaseInAccountsPayable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncreaseDecreaseInAccountsPayable" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccountsPayable">Accounts payable-trade</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:title="label: IncreaseDecreaseInAccountsPayable to us-gaap_IncreaseDecreaseInAccountsPayable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInAccountsPayable_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccountsPayable_lbl1">Increase (Decrease) in Accounts Payable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_lbl1" xlink:title="label: IncreaseDecreaseInAccountsPayable to us-gaap_IncreaseDecreaseInAccountsPayable_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="IncreaseDecreaseInAccruedLiabilities" xlink:title="IncreaseDecreaseInAccruedLiabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncreaseDecreaseInAccruedLiabilities" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccruedLiabilities">Accrued expenses and other liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:title="label: IncreaseDecreaseInAccruedLiabilities to us-gaap_IncreaseDecreaseInAccruedLiabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl1">Increase (Decrease) in Accrued Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl1" xlink:title="label: IncreaseDecreaseInAccruedLiabilities to us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="CommitmentsAndContingenciesDisclosureTextBlock" xlink:title="CommitmentsAndContingenciesDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xml:lang="en-US" id="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">COMMITMENTS AND CONTINGENCIES</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:title="label: CommitmentsAndContingenciesDisclosureTextBlock to us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl1" xml:lang="en-US" id="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl1">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl1" xlink:title="label: CommitmentsAndContingenciesDisclosureTextBlock to us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="CommonStockSharesAuthorized" xlink:title="CommonStockSharesAuthorized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockSharesAuthorized" xml:lang="en-US" id="us-gaap_CommonStockSharesAuthorized">Common stock, shares authorized (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized" xlink:title="label: CommonStockSharesAuthorized to us-gaap_CommonStockSharesAuthorized" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="CommonStockSharesIssued" xlink:title="CommonStockSharesIssued" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockSharesIssued" xml:lang="en-US" id="us-gaap_CommonStockSharesIssued">Common stock, shares issued (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued" xlink:title="label: CommonStockSharesIssued to us-gaap_CommonStockSharesIssued" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="CommonStockSharesOutstanding" xlink:title="CommonStockSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockSharesOutstanding" xml:lang="en-US" id="us-gaap_CommonStockSharesOutstanding">Common stock, shares outstanding (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding" xlink:title="label: CommonStockSharesOutstanding to us-gaap_CommonStockSharesOutstanding" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="CommonStockValue" xlink:title="CommonStockValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockValue" xml:lang="en-US" id="us-gaap_CommonStockValue">Common stock, $0.0024 par value; 25,000,000 shares authorized; 9,846,670 and 9,823,621 shares issued at June 30, 2024 and December 31, 2023, respectively; 8,422,546 and 8,399,245 shares outstanding at June 30, 2024 and December 31, 2023, respectively</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockValue" xlink:to="us-gaap_CommonStockValue" xlink:title="label: CommonStockValue to us-gaap_CommonStockValue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="ConcentrationRiskByTypeAxis" xlink:title="ConcentrationRiskByTypeAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskByTypeAxis" xml:lang="en-US" id="us-gaap_ConcentrationRiskByTypeAxis">Concentration Risk Type [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:title="label: ConcentrationRiskByTypeAxis to us-gaap_ConcentrationRiskByTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="ConcentrationRiskTypeDomain" xlink:title="ConcentrationRiskTypeDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskTypeDomain" xml:lang="en-US" id="us-gaap_ConcentrationRiskTypeDomain">Concentration Risk Type [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:title="label: ConcentrationRiskTypeDomain to us-gaap_ConcentrationRiskTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="CostOfGoodsAndServicesSold" xlink:title="CostOfGoodsAndServicesSold" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CostOfGoodsAndServicesSold" xml:lang="en-US" id="us-gaap_CostOfGoodsAndServicesSold">Cost of sales</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:title="label: CostOfGoodsAndServicesSold to us-gaap_CostOfGoodsAndServicesSold" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSoldDepreciation" xlink:label="CostOfGoodsAndServicesSoldDepreciation" xlink:title="CostOfGoodsAndServicesSoldDepreciation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CostOfGoodsAndServicesSoldDepreciation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CostOfGoodsAndServicesSoldDepreciation" xml:lang="en-US" id="us-gaap_CostOfGoodsAndServicesSoldDepreciation">Depreciation and amortization</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CostOfGoodsAndServicesSoldDepreciation" xlink:to="us-gaap_CostOfGoodsAndServicesSoldDepreciation" xlink:title="label: CostOfGoodsAndServicesSoldDepreciation to us-gaap_CostOfGoodsAndServicesSoldDepreciation" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="LiabilitiesCurrent" xlink:title="LiabilitiesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_LiabilitiesCurrent" xml:lang="en-US" id="us-gaap_LiabilitiesCurrent">Total current liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent" xlink:title="label: LiabilitiesCurrent to us-gaap_LiabilitiesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesCurrent_lbl1" xml:lang="en-US" id="us-gaap_LiabilitiesCurrent_lbl1">Liabilities, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl1" xlink:title="label: LiabilitiesCurrent to us-gaap_LiabilitiesCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="LiabilitiesCurrentAbstract" xlink:title="LiabilitiesCurrentAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesCurrentAbstract" xml:lang="en-US" id="us-gaap_LiabilitiesCurrentAbstract">CURRENT LIABILITIES:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract" xlink:title="label: LiabilitiesCurrentAbstract to us-gaap_LiabilitiesCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="DebtDisclosureTextBlock" xlink:title="DebtDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtDisclosureTextBlock" xml:lang="en-US" id="us-gaap_DebtDisclosureTextBlock">NOTES PAYABLE AND LONG-TERM DEBT</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock" xlink:title="label: DebtDisclosureTextBlock to us-gaap_DebtDisclosureTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentsAbstract" xlink:label="DebtInstrumentsAbstract" xlink:title="DebtInstrumentsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentsAbstract" xml:lang="en-US" id="us-gaap_DebtInstrumentsAbstract">Debt Instruments [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentsAbstract" xlink:to="us-gaap_DebtInstrumentsAbstract" xlink:title="label: DebtInstrumentsAbstract to us-gaap_DebtInstrumentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="DebtInstrumentLineItems" xlink:title="DebtInstrumentLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentLineItems" xml:lang="en-US" id="us-gaap_DebtInstrumentLineItems">Debt Instrument [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentLineItems" xlink:title="label: DebtInstrumentLineItems to us-gaap_DebtInstrumentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable" xlink:label="DebtInstrumentTable" xlink:title="DebtInstrumentTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentTable" xml:lang="en-US" id="us-gaap_DebtInstrumentTable">Schedule of Long-term Debt Instruments [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentTable" xlink:title="label: DebtInstrumentTable to us-gaap_DebtInstrumentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="EarningsPerShareDiluted" xlink:title="EarningsPerShareDiluted" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareDiluted" xml:lang="en-US" id="us-gaap_EarningsPerShareDiluted">Diluted (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:title="label: EarningsPerShareDiluted to us-gaap_EarningsPerShareDiluted" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted1" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_EarningsPerShareDiluted1" xml:lang="en-US" id="us-gaap_EarningsPerShareDiluted1">Diluted earnings per share (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted1" xlink:title="label: EarningsPerShareDiluted to us-gaap_EarningsPerShareDiluted1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="EffectiveIncomeTaxRateContinuingOperations" xlink:title="EffectiveIncomeTaxRateContinuingOperations" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateContinuingOperations">Effective tax rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:title="label: EffectiveIncomeTaxRateContinuingOperations to us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="AllocatedShareBasedCompensationExpense" xlink:title="AllocatedShareBasedCompensationExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AllocatedShareBasedCompensationExpense" xml:lang="en-US" id="us-gaap_AllocatedShareBasedCompensationExpense">Stock-based compensation expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" xlink:title="label: AllocatedShareBasedCompensationExpense to us-gaap_AllocatedShareBasedCompensationExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AllocatedShareBasedCompensationExpense_lbl1" xml:lang="en-US" id="us-gaap_AllocatedShareBasedCompensationExpense_lbl1">Share-Based Payment Arrangement, Expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl1" xlink:title="label: AllocatedShareBasedCompensationExpense to us-gaap_AllocatedShareBasedCompensationExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="ShareBasedCompensation" xlink:title="ShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensation" xml:lang="en-US" id="us-gaap_ShareBasedCompensation">Stock-based compensation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation" xlink:title="label: ShareBasedCompensation to us-gaap_ShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensation_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensation_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensation_lbl1">Share-Based Payment Arrangement, Noncash Expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl1" xlink:title="label: ShareBasedCompensation to us-gaap_ShareBasedCompensation_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAbstract" xlink:label="ShareBasedCompensationAbstract" xlink:title="ShareBasedCompensationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationAbstract" xml:lang="en-US" id="us-gaap_ShareBasedCompensationAbstract">Share-based Compensation Expense [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationAbstract" xlink:to="us-gaap_ShareBasedCompensationAbstract" xlink:title="label: ShareBasedCompensationAbstract to us-gaap_ShareBasedCompensationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationAbstract_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationAbstract_lbl1">Share-Based Payment Arrangement, Noncash Expense [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationAbstract" xlink:to="us-gaap_ShareBasedCompensationAbstract_lbl1" xlink:title="label: ShareBasedCompensationAbstract to us-gaap_ShareBasedCompensationAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="FairValueOfFinancialInstrumentsPolicy" xlink:title="FairValueOfFinancialInstrumentsPolicy" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FairValueOfFinancialInstrumentsPolicy" xml:lang="en-US" id="us-gaap_FairValueOfFinancialInstrumentsPolicy">Fair Value of Financial Instruments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FairValueOfFinancialInstrumentsPolicy" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:title="label: FairValueOfFinancialInstrumentsPolicy to us-gaap_FairValueOfFinancialInstrumentsPolicy" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="label: FiniteLivedIntangibleAssetsMajorClassNameDomain to us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="label: FiniteLivedIntangibleAssetsByMajorClassAxis to us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="FiniteLivedIntangibleAssetsLineItems" xlink:title="FiniteLivedIntangibleAssetsLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsLineItems" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsLineItems">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:title="label: FiniteLivedIntangibleAssetsLineItems to us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:title="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xml:lang="en-US" id="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">Foreign currency translation and transactions</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:title="label: ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock to us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="FurnitureAndFixturesMember" xlink:title="FurnitureAndFixturesMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FurnitureAndFixturesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FurnitureAndFixturesMember" xml:lang="en-US" id="us-gaap_FurnitureAndFixturesMember">Furniture and Fixtures [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FurnitureAndFixturesMember" xlink:to="us-gaap_FurnitureAndFixturesMember" xlink:title="label: FurnitureAndFixturesMember to us-gaap_FurnitureAndFixturesMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="GeographicConcentrationRiskMember" xlink:title="GeographicConcentrationRiskMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GeographicConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GeographicConcentrationRiskMember" xml:lang="en-US" id="us-gaap_GeographicConcentrationRiskMember">Geographic Concentration Risk [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GeographicConcentrationRiskMember" xlink:to="us-gaap_GeographicConcentrationRiskMember" xlink:title="label: GeographicConcentrationRiskMember to us-gaap_GeographicConcentrationRiskMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:label="IntangibleAssetsFiniteLivedPolicy" xlink:title="IntangibleAssetsFiniteLivedPolicy" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IntangibleAssetsFiniteLivedPolicy" xml:lang="en-US" id="us-gaap_IntangibleAssetsFiniteLivedPolicy">Other Intangible Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IntangibleAssetsFiniteLivedPolicy" xlink:to="us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:title="label: IntangibleAssetsFiniteLivedPolicy to us-gaap_IntangibleAssetsFiniteLivedPolicy" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="GrossProfit" xlink:title="GrossProfit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_GrossProfit" xml:lang="en-US" id="us-gaap_GrossProfit">Gross profit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GrossProfit" xlink:to="us-gaap_GrossProfit" xlink:title="label: GrossProfit to us-gaap_GrossProfit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GrossProfit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GrossProfit_lbl1" xml:lang="en-US" id="us-gaap_GrossProfit_lbl1">Gross Profit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GrossProfit" xlink:to="us-gaap_GrossProfit_lbl1" xlink:title="label: GrossProfit to us-gaap_GrossProfit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:title="ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xml:lang="en-US" id="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">Impairment of Long-Lived Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:title="label: ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock to us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl1">Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl1" xlink:title="label: ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock to us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="IncomeStatementAbstract" xlink:title="IncomeStatementAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeStatementAbstract" xml:lang="en-US" id="us-gaap_IncomeStatementAbstract">Condensed Consolidated Statements of Operations and Comprehensive Income [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract" xlink:title="label: IncomeStatementAbstract to us-gaap_IncomeStatementAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="IncomeTaxDisclosureTextBlock" xlink:title="IncomeTaxDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxDisclosureTextBlock" xml:lang="en-US" id="us-gaap_IncomeTaxDisclosureTextBlock">INCOME TAX</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" xlink:title="label: IncomeTaxDisclosureTextBlock to us-gaap_IncomeTaxDisclosureTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="IncomeTaxPolicyTextBlock" xlink:title="IncomeTaxPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxPolicyTextBlock" xml:lang="en-US" id="us-gaap_IncomeTaxPolicyTextBlock">Income Taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock" xlink:title="label: IncomeTaxPolicyTextBlock to us-gaap_IncomeTaxPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="IncomeTaxesReceivable" xlink:title="IncomeTaxesReceivable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxesReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxesReceivable" xml:lang="en-US" id="us-gaap_IncomeTaxesReceivable">Income tax receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxesReceivable" xlink:to="us-gaap_IncomeTaxesReceivable" xlink:title="label: IncomeTaxesReceivable to us-gaap_IncomeTaxesReceivable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xml:lang="en-US" id="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">Dilutive effect of service-based restricted stock awards granted under the Plan (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="label: IncrementalCommonSharesAttributableToShareBasedPaymentArrangements to us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl1" xml:lang="en-US" id="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl1">Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl1" xlink:title="label: IncrementalCommonSharesAttributableToShareBasedPaymentArrangements to us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" xlink:title="FiniteLivedIntangibleAssetsNetAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsNetAbstract">Intangible Assets [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:title="label: FiniteLivedIntangibleAssetsNetAbstract to us-gaap_FiniteLivedIntangibleAssetsNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods" xlink:label="InventoryFinishedGoods" xlink:title="InventoryFinishedGoods" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryFinishedGoods" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryFinishedGoods" xml:lang="en-US" id="us-gaap_InventoryFinishedGoods">Finished goods held for sale</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryFinishedGoods" xlink:to="us-gaap_InventoryFinishedGoods" xlink:title="label: InventoryFinishedGoods to us-gaap_InventoryFinishedGoods" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryNet" xml:lang="en-US" id="us-gaap_InventoryNet">Inventory</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryNet" xlink:title="label: InventoryNet to us-gaap_InventoryNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryNet1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_InventoryNet1" xml:lang="en-US" id="us-gaap_InventoryNet1">Total inventory</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryNet1" xlink:title="label: InventoryNet to us-gaap_InventoryNet1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNetAbstract" xlink:label="InventoryNetAbstract" xlink:title="InventoryNetAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryNetAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryNetAbstract" xml:lang="en-US" id="us-gaap_InventoryNetAbstract">Inventory on hand [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryNetAbstract" xlink:to="us-gaap_InventoryNetAbstract" xlink:title="label: InventoryNetAbstract to us-gaap_InventoryNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherInventoryInTransit" xlink:label="OtherInventoryInTransit" xlink:title="OtherInventoryInTransit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherInventoryInTransit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherInventoryInTransit" xml:lang="en-US" id="us-gaap_OtherInventoryInTransit">Inventory in transit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherInventoryInTransit" xlink:to="us-gaap_OtherInventoryInTransit" xlink:title="label: OtherInventoryInTransit to us-gaap_OtherInventoryInTransit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="InventoryPolicyTextBlock" xlink:title="InventoryPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_InventoryPolicyTextBlock" xml:lang="en-US" id="us-gaap_InventoryPolicyTextBlock">Inventory</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock" xlink:title="label: InventoryPolicyTextBlock to us-gaap_InventoryPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_InventoryPolicyTextBlock_lbl1">Inventory, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl1" xlink:title="label: InventoryPolicyTextBlock to us-gaap_InventoryPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" xlink:title="LiabilitiesAndStockholdersEquity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_LiabilitiesAndStockholdersEquity" xml:lang="en-US" id="us-gaap_LiabilitiesAndStockholdersEquity">TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" xlink:title="label: LiabilitiesAndStockholdersEquity to us-gaap_LiabilitiesAndStockholdersEquity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesAndStockholdersEquity_lbl1" xml:lang="en-US" id="us-gaap_LiabilitiesAndStockholdersEquity_lbl1">Liabilities and Equity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl1" xlink:title="label: LiabilitiesAndStockholdersEquity to us-gaap_LiabilitiesAndStockholdersEquity_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="LiabilitiesAndStockholdersEquityAbstract" xlink:title="LiabilitiesAndStockholdersEquityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xml:lang="en-US" id="us-gaap_LiabilitiesAndStockholdersEquityAbstract">LIABILITIES AND STOCKHOLDERS' EQUITY</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:title="label: LiabilitiesAndStockholdersEquityAbstract to us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="LineOfCreditFacilityLenderDomain" xlink:title="LineOfCreditFacilityLenderDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LineOfCreditFacilityLenderDomain" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityLenderDomain">Line of Credit Facility, Lender [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityLenderDomain" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:title="label: LineOfCreditFacilityLenderDomain to us-gaap_LineOfCreditFacilityLenderDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">Line of credit facility, maximum borrowing capacity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="label: LineOfCreditFacilityMaximumBorrowingCapacity to us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="LineOfCreditFacilityAxis" xlink:title="LineOfCreditFacilityAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LineOfCreditFacilityAxis" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityAxis">Lender Name [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:title="label: LineOfCreditFacilityAxis to us-gaap_LineOfCreditFacilityAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="MachineryAndEquipmentMember" xlink:title="MachineryAndEquipmentMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_MachineryAndEquipmentMember" xml:lang="en-US" id="us-gaap_MachineryAndEquipmentMember">Equipment and Machinery [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember" xlink:title="label: MachineryAndEquipmentMember to us-gaap_MachineryAndEquipmentMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="NetCashProvidedByUsedInFinancingActivities" xlink:title="NetCashProvidedByUsedInFinancingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NetCashProvidedByUsedInFinancingActivities" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInFinancingActivities">Net cash used in financing activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:title="label: NetCashProvidedByUsedInFinancingActivities to us-gaap_NetCashProvidedByUsedInFinancingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1" xlink:title="label: NetCashProvidedByUsedInFinancingActivities to us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">Cash flows from financing activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:title="label: NetCashProvidedByUsedInFinancingActivitiesAbstract to us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="NetCashProvidedByUsedInInvestingActivities" xlink:title="NetCashProvidedByUsedInInvestingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NetCashProvidedByUsedInInvestingActivities" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInInvestingActivities">Net cash used in investing activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:title="label: NetCashProvidedByUsedInInvestingActivities to us-gaap_NetCashProvidedByUsedInInvestingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1" xlink:title="label: NetCashProvidedByUsedInInvestingActivities to us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">Cash flows from investing activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:title="label: NetCashProvidedByUsedInInvestingActivitiesAbstract to us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="NetCashProvidedByUsedInOperatingActivities" xlink:title="NetCashProvidedByUsedInOperatingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NetCashProvidedByUsedInOperatingActivities" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInOperatingActivities">Net cash provided by operating activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:title="label: NetCashProvidedByUsedInOperatingActivities to us-gaap_NetCashProvidedByUsedInOperatingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1" xlink:title="label: NetCashProvidedByUsedInOperatingActivities to us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">Cash flows from operating activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="label: NetCashProvidedByUsedInOperatingActivitiesAbstract to us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_NetIncomeLoss" xml:lang="en-US" id="us-gaap_NetIncomeLoss">Net income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss" xlink:title="label: NetIncomeLoss to us-gaap_NetIncomeLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NetIncomeLoss1" xml:lang="en-US" id="us-gaap_NetIncomeLoss1">Net income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss1" xlink:title="label: NetIncomeLoss to us-gaap_NetIncomeLoss1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss2" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_NetIncomeLoss2" xml:lang="en-US" id="us-gaap_NetIncomeLoss2">Net income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss2" xlink:title="label: NetIncomeLoss to us-gaap_NetIncomeLoss2" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss_lbl3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetIncomeLoss_lbl3" xml:lang="en-US" id="us-gaap_NetIncomeLoss_lbl3">Net Income (Loss)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl3" xlink:title="label: NetIncomeLoss to us-gaap_NetIncomeLoss_lbl3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeExpenseNet" xlink:label="InterestIncomeExpenseNet" xlink:title="InterestIncomeExpenseNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InterestIncomeExpenseNet" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_InterestIncomeExpenseNet" xml:lang="en-US" id="us-gaap_InterestIncomeExpenseNet">Interest income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InterestIncomeExpenseNet" xlink:to="us-gaap_InterestIncomeExpenseNet" xlink:title="label: InterestIncomeExpenseNet to us-gaap_InterestIncomeExpenseNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InterestIncomeExpenseNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InterestIncomeExpenseNet_lbl1" xml:lang="en-US" id="us-gaap_InterestIncomeExpenseNet_lbl1">Interest Income (Expense), Operating</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InterestIncomeExpenseNet" xlink:to="us-gaap_InterestIncomeExpenseNet_lbl1" xlink:title="label: InterestIncomeExpenseNet to us-gaap_InterestIncomeExpenseNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="NonoperatingIncomeExpense" xlink:title="NonoperatingIncomeExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:title="us-gaap_NonoperatingIncomeExpense" xml:lang="en-US" id="us-gaap_NonoperatingIncomeExpense">Total other (income) expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense" xlink:title="label: NonoperatingIncomeExpense to us-gaap_NonoperatingIncomeExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NonoperatingIncomeExpense_lbl1" xml:lang="en-US" id="us-gaap_NonoperatingIncomeExpense_lbl1">Nonoperating Income (Expense)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl1" xlink:title="label: NonoperatingIncomeExpense to us-gaap_NonoperatingIncomeExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="OperatingIncomeLoss" xlink:title="OperatingIncomeLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_OperatingIncomeLoss" xml:lang="en-US" id="us-gaap_OperatingIncomeLoss">Income from operations</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss" xlink:title="label: OperatingIncomeLoss to us-gaap_OperatingIncomeLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingIncomeLoss_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingIncomeLoss_lbl1" xml:lang="en-US" id="us-gaap_OperatingIncomeLoss_lbl1">Operating Income (Loss)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl1" xlink:title="label: OperatingIncomeLoss to us-gaap_OperatingIncomeLoss_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLossAbstract" xlink:label="OperatingIncomeLossAbstract" xlink:title="OperatingIncomeLossAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingIncomeLossAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingIncomeLossAbstract" xml:lang="en-US" id="us-gaap_OperatingIncomeLossAbstract">Other (income) expense:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingIncomeLossAbstract" xlink:to="us-gaap_OperatingIncomeLossAbstract" xlink:title="label: OperatingIncomeLossAbstract to us-gaap_OperatingIncomeLossAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsCurrent" xlink:label="OtherAssetsCurrent" xlink:title="OtherAssetsCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherAssetsCurrent" xml:lang="en-US" id="us-gaap_OtherAssetsCurrent">Other current assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherAssetsCurrent" xlink:to="us-gaap_OtherAssetsCurrent" xlink:title="label: OtherAssetsCurrent to us-gaap_OtherAssetsCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="OtherNonoperatingIncomeExpense" xlink:title="OtherNonoperatingIncomeExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_OtherNonoperatingIncomeExpense" xml:lang="en-US" id="us-gaap_OtherNonoperatingIncomeExpense">Other, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" xlink:title="label: OtherNonoperatingIncomeExpense to us-gaap_OtherNonoperatingIncomeExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherNonoperatingIncomeExpense_lbl1" xml:lang="en-US" id="us-gaap_OtherNonoperatingIncomeExpense_lbl1">Other Nonoperating Income (Expense)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl1" xlink:title="label: OtherNonoperatingIncomeExpense to us-gaap_OtherNonoperatingIncomeExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="PrepaidExpenseCurrent" xlink:title="PrepaidExpenseCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PrepaidExpenseCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PrepaidExpenseCurrent" xml:lang="en-US" id="us-gaap_PrepaidExpenseCurrent">Prepaid expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PrepaidExpenseCurrent" xlink:to="us-gaap_PrepaidExpenseCurrent" xlink:title="label: PrepaidExpenseCurrent to us-gaap_PrepaidExpenseCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="ProceedsFromLinesOfCredit" xlink:title="ProceedsFromLinesOfCredit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProceedsFromLinesOfCredit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ProceedsFromLinesOfCredit" xml:lang="en-US" id="us-gaap_ProceedsFromLinesOfCredit">Line of credit facility, funds borrowed</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProceedsFromLinesOfCredit" xlink:to="us-gaap_ProceedsFromLinesOfCredit" xlink:title="label: ProceedsFromLinesOfCredit to us-gaap_ProceedsFromLinesOfCredit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="PropertyPlantAndEquipmentGross" xlink:title="PropertyPlantAndEquipmentGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentGross" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentGross">Property and equipment, at cost</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" xlink:title="label: PropertyPlantAndEquipmentGross to us-gaap_PropertyPlantAndEquipmentGross" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_PropertyPlantAndEquipmentNet" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentNet">Property and equipment, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:title="label: PropertyPlantAndEquipmentNet to us-gaap_PropertyPlantAndEquipmentNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentNet_lbl1" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentNet_lbl1">Property, Plant and Equipment, Net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl1" xlink:title="label: PropertyPlantAndEquipmentNet to us-gaap_PropertyPlantAndEquipmentNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="PropertyPlantAndEquipmentPolicyTextBlock" xlink:title="PropertyPlantAndEquipmentPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">Property and equipment, net of accumulated depreciation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:title="label: PropertyPlantAndEquipmentPolicyTextBlock to us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xml:lang="en-US" id="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">Purchase of property and equipment</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="label: PaymentsToAcquirePropertyPlantAndEquipment to us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1" xml:lang="en-US" id="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1" xlink:title="label: PaymentsToAcquirePropertyPlantAndEquipment to us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="RetainedEarningsAccumulatedDeficit" xlink:title="RetainedEarningsAccumulatedDeficit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RetainedEarningsAccumulatedDeficit" xml:lang="en-US" id="us-gaap_RetainedEarningsAccumulatedDeficit">Retained earnings</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:title="label: RetainedEarningsAccumulatedDeficit to us-gaap_RetainedEarningsAccumulatedDeficit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="SegmentReportingInformationLineItems" xlink:title="SegmentReportingInformationLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SegmentReportingInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SegmentReportingInformationLineItems" xml:lang="en-US" id="us-gaap_SegmentReportingInformationLineItems">Segment Reporting Information [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentReportingInformationLineItems" xlink:title="label: SegmentReportingInformationLineItems to us-gaap_SegmentReportingInformationLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="ScheduleOfSegmentReportingInformationBySegmentTable" xlink:title="ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xml:lang="en-US" id="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable">Schedule of Segment Reporting Information, by Segment [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:title="label: ScheduleOfSegmentReportingInformationBySegmentTable to us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">Forfeited (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">Granted (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod1" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod1">Number of restricted stock units granted (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">Granted (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">Balance (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber1" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber1">Balance (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl2" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl2">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl2" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">Balance (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue1" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue1">Balance (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl2" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl2">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl2" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">Unrecognized Expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized to us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl1" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl1">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl1" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized to us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">Vested (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">Vested (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain">Award Type [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="label: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xml:lang="en-US" id="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="label: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="StatementOfCashFlowsAbstract" xlink:title="StatementOfCashFlowsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementOfCashFlowsAbstract" xml:lang="en-US" id="us-gaap_StatementOfCashFlowsAbstract">Condensed Consolidated Statements of Cash Flows [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract" xlink:title="label: StatementOfCashFlowsAbstract to us-gaap_StatementOfCashFlowsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="StatementOfStockholdersEquityAbstract" xlink:title="StatementOfStockholdersEquityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementOfStockholdersEquityAbstract" xml:lang="en-US" id="us-gaap_StatementOfStockholdersEquityAbstract">Condensed Consolidated Statements of Stockholders' Equity [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract" xlink:title="label: StatementOfStockholdersEquityAbstract to us-gaap_StatementOfStockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:title="ShareBasedCompensationOptionAndIncentivePlansPolicy" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xml:lang="en-US" id="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">Stock-based compensation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:title="label: ShareBasedCompensationOptionAndIncentivePlansPolicy to us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl1">Share-Based Payment Arrangement [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl1" xlink:title="label: ShareBasedCompensationOptionAndIncentivePlansPolicy to us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="StockholdersEquityAbstract" xlink:title="StockholdersEquityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockholdersEquityAbstract" xml:lang="en-US" id="us-gaap_StockholdersEquityAbstract">STOCKHOLDERS' EQUITY:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract" xlink:title="label: StockholdersEquityAbstract to us-gaap_StockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="AssetsCurrent" xlink:title="AssetsCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_AssetsCurrent" xml:lang="en-US" id="us-gaap_AssetsCurrent">Total current assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsCurrent" xlink:to="us-gaap_AssetsCurrent" xlink:title="label: AssetsCurrent to us-gaap_AssetsCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetsCurrent_lbl1" xml:lang="en-US" id="us-gaap_AssetsCurrent_lbl1">Assets, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl1" xlink:title="label: AssetsCurrent to us-gaap_AssetsCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="AssetsCurrentAbstract" xlink:title="AssetsCurrentAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetsCurrentAbstract" xml:lang="en-US" id="us-gaap_AssetsCurrentAbstract">CURRENT ASSETS:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract" xlink:title="label: AssetsCurrentAbstract to us-gaap_AssetsCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VehiclesMember" xlink:label="VehiclesMember" xlink:title="VehiclesMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_VehiclesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_VehiclesMember" xml:lang="en-US" id="us-gaap_VehiclesMember">Vehicles [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VehiclesMember" xlink:to="us-gaap_VehiclesMember" xlink:title="label: VehiclesMember to us-gaap_VehiclesMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">Diluted (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="label: WeightedAverageNumberOfDilutedSharesOutstanding to us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding1" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding1">Diluted weighted-average common shares outstanding (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding1" xlink:title="label: WeightedAverageNumberOfDilutedSharesOutstanding to us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">Basic (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="label: WeightedAverageNumberOfSharesOutstandingBasic to us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic1" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic1">Basic weighted-average common shares outstanding (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic1" xlink:title="label: WeightedAverageNumberOfSharesOutstandingBasic to us-gaap_WeightedAverageNumberOfSharesOutstandingBasic1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:label="InventoryWorkInProcessAndRawMaterials" xlink:title="InventoryWorkInProcessAndRawMaterials" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_InventoryWorkInProcessAndRawMaterials" xml:lang="en-US" id="us-gaap_InventoryWorkInProcessAndRawMaterials">Raw materials and work in process</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryWorkInProcessAndRawMaterials" xlink:to="us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:title="label: InventoryWorkInProcessAndRawMaterials to us-gaap_InventoryWorkInProcessAndRawMaterials" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryWorkInProcessAndRawMaterials_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryWorkInProcessAndRawMaterials_lbl1" xml:lang="en-US" id="us-gaap_InventoryWorkInProcessAndRawMaterials_lbl1">Inventory, Work in Process and Raw Materials</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryWorkInProcessAndRawMaterials" xlink:to="us-gaap_InventoryWorkInProcessAndRawMaterials_lbl1" xlink:title="label: InventoryWorkInProcessAndRawMaterials to us-gaap_InventoryWorkInProcessAndRawMaterials_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="CommonStockMember" xlink:title="CommonStockMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockMember" xml:lang="en-US" id="us-gaap_CommonStockMember">Common Stock [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockMember" xlink:to="us-gaap_CommonStockMember" xlink:title="label: CommonStockMember to us-gaap_CommonStockMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentTypeDomain" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentTypeDomain">Long-Lived Tangible Asset [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:title="label: PropertyPlantAndEquipmentTypeDomain to us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="BuildingAndBuildingImprovementsMember" xlink:title="BuildingAndBuildingImprovementsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_BuildingAndBuildingImprovementsMember" xml:lang="en-US" id="us-gaap_BuildingAndBuildingImprovementsMember">Buildings and Related Improvements [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BuildingAndBuildingImprovementsMember" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember" xlink:title="label: BuildingAndBuildingImprovementsMember to us-gaap_BuildingAndBuildingImprovementsMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNetAbstract" xlink:label="PropertyPlantAndEquipmentNetAbstract" xlink:title="PropertyPlantAndEquipmentNetAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNetAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_PropertyPlantAndEquipmentNetAbstract" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentNetAbstract">Property and Equipment, Net of Accumulated Depreciation [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentNetAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNetAbstract" xlink:title="label: PropertyPlantAndEquipmentNetAbstract to us-gaap_PropertyPlantAndEquipmentNetAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNetAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentNetAbstract_lbl1" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentNetAbstract_lbl1">Property, Plant and Equipment, Net [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentNetAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNetAbstract_lbl1" xlink:title="label: PropertyPlantAndEquipmentNetAbstract to us-gaap_PropertyPlantAndEquipmentNetAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="Assets" xlink:title="Assets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_Assets" xml:lang="en-US" id="us-gaap_Assets">TOTAL ASSETS</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Assets" xlink:to="us-gaap_Assets" xlink:title="label: Assets to us-gaap_Assets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Assets_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_Assets_lbl1" xml:lang="en-US" id="us-gaap_Assets_lbl1">Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Assets" xlink:to="us-gaap_Assets_lbl1" xlink:title="label: Assets to us-gaap_Assets_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="AllowanceForDoubtfulAccountsReceivable" xlink:title="AllowanceForDoubtfulAccountsReceivable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AllowanceForDoubtfulAccountsReceivable" xml:lang="en-US" id="us-gaap_AllowanceForDoubtfulAccountsReceivable">Allowance for expected credit losses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllowanceForDoubtfulAccountsReceivable" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:title="label: AllowanceForDoubtfulAccountsReceivable to us-gaap_AllowanceForDoubtfulAccountsReceivable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="OtherLiabilitiesNoncurrent" xlink:title="OtherLiabilitiesNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherLiabilitiesNoncurrent" xml:lang="en-US" id="us-gaap_OtherLiabilitiesNoncurrent">Other non-current liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" xlink:title="label: OtherLiabilitiesNoncurrent to us-gaap_OtherLiabilitiesNoncurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="ConcentrationRiskByBenchmarkAxis" xlink:title="ConcentrationRiskByBenchmarkAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskByBenchmarkAxis" xml:lang="en-US" id="us-gaap_ConcentrationRiskByBenchmarkAxis">Concentration Risk Benchmark [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:title="label: ConcentrationRiskByBenchmarkAxis to us-gaap_ConcentrationRiskByBenchmarkAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="ConcentrationRiskBenchmarkDomain" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskBenchmarkDomain" xml:lang="en-US" id="us-gaap_ConcentrationRiskBenchmarkDomain">Concentration Risk Benchmark [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:title="label: ConcentrationRiskBenchmarkDomain to us-gaap_ConcentrationRiskBenchmarkDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:title="DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xml:lang="en-US" id="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">STOCK-BASED COMPENSATION</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:title="label: DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock to us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="StatementTable" xlink:title="StatementTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementTable" xml:lang="en-US" id="us-gaap_StatementTable">Statement [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementTable" xlink:to="us-gaap_StatementTable" xlink:title="label: StatementTable to us-gaap_StatementTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="AssetsAbstract" xlink:title="AssetsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AssetsAbstract" xml:lang="en-US" id="us-gaap_AssetsAbstract">ASSETS</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsAbstract" xlink:to="us-gaap_AssetsAbstract" xlink:title="label: AssetsAbstract to us-gaap_AssetsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetsAbstract_lbl1" xml:lang="en-US" id="us-gaap_AssetsAbstract_lbl1">Assets [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl1" xlink:title="label: AssetsAbstract to us-gaap_AssetsAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="StatementLineItems" xlink:title="StatementLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementLineItems" xml:lang="en-US" id="us-gaap_StatementLineItems">Statement [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementLineItems" xlink:to="us-gaap_StatementLineItems" xlink:title="label: StatementLineItems to us-gaap_StatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:label="NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:title="NetIncomeLossAvailableToCommonStockholdersBasicAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xml:lang="en-US" id="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract">Computation of Earnings Per Share [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:title="label: NetIncomeLossAvailableToCommonStockholdersBasicAbstract to us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract_lbl1" xml:lang="en-US" id="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract_lbl1">Net Income (Loss) Available to Common Stockholders, Basic [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract_lbl1" xlink:title="label: NetIncomeLossAvailableToCommonStockholdersBasicAbstract to us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" xlink:label="FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" xlink:title="FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" xml:lang="en-US" id="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet">Transfers into (out of) Level 3</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" xlink:to="us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" xlink:title="label: FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet to us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="IncreaseDecreaseInStockholdersEquityRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="label: IncreaseDecreaseInStockholdersEquityRollForward to us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="ClassOfTreasuryStockTable" xlink:title="ClassOfTreasuryStockTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ClassOfTreasuryStockTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ClassOfTreasuryStockTable" xml:lang="en-US" id="us-gaap_ClassOfTreasuryStockTable">Class of Treasury Stock [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ClassOfTreasuryStockTable" xlink:to="us-gaap_ClassOfTreasuryStockTable" xlink:title="label: ClassOfTreasuryStockTable to us-gaap_ClassOfTreasuryStockTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityClassOfTreasuryStockLineItems" xlink:label="EquityClassOfTreasuryStockLineItems" xlink:title="EquityClassOfTreasuryStockLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EquityClassOfTreasuryStockLineItems" xml:lang="en-US" id="us-gaap_EquityClassOfTreasuryStockLineItems">Equity, Class of Treasury Stock [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityClassOfTreasuryStockLineItems" xlink:to="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:title="label: EquityClassOfTreasuryStockLineItems to us-gaap_EquityClassOfTreasuryStockLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="IncreaseDecreaseInDeferredIncomeTaxes" xlink:title="IncreaseDecreaseInDeferredIncomeTaxes" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes">Income taxes, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInDeferredIncomeTaxes" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:title="label: IncreaseDecreaseInDeferredIncomeTaxes to us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl1">Increase (Decrease) in Deferred Income Taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInDeferredIncomeTaxes" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl1" xlink:title="label: IncreaseDecreaseInDeferredIncomeTaxes to us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="OtherAssetsNoncurrent" xlink:title="OtherAssetsNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OtherAssetsNoncurrent" xml:lang="en-US" id="us-gaap_OtherAssetsNoncurrent">Other assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent" xlink:title="label: OtherAssetsNoncurrent to us-gaap_OtherAssetsNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherAssetsNoncurrent_lbl1" xml:lang="en-US" id="us-gaap_OtherAssetsNoncurrent_lbl1">Other Assets, Noncurrent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl1" xlink:title="label: OtherAssetsNoncurrent to us-gaap_OtherAssetsNoncurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" xlink:title="EarningsPerShareAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_EarningsPerShareAbstract" xml:lang="en-US" id="us-gaap_EarningsPerShareAbstract">Net income per common share:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract" xlink:title="label: EarningsPerShareAbstract to us-gaap_EarningsPerShareAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareAbstract1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareAbstract1" xml:lang="en-US" id="us-gaap_EarningsPerShareAbstract1">EARNINGS PER SHARE [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract1" xlink:title="label: EarningsPerShareAbstract to us-gaap_EarningsPerShareAbstract1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:label="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:title="ScheduleOfEarningsPerShareDilutedByCommonClassTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTable" xml:lang="en-US" id="us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTable">Schedule of Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:to="us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:title="label: ScheduleOfEarningsPerShareDilutedByCommonClassTable to us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDilutedLineItems" xlink:label="EarningsPerShareDilutedLineItems" xlink:title="EarningsPerShareDilutedLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDilutedLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareDilutedLineItems" xml:lang="en-US" id="us-gaap_EarningsPerShareDilutedLineItems">Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="us-gaap_EarningsPerShareDilutedLineItems" xlink:title="label: EarningsPerShareDilutedLineItems to us-gaap_EarningsPerShareDilutedLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="DeferredIncomeTaxesAndTaxCredits" xlink:title="DeferredIncomeTaxesAndTaxCredits" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredIncomeTaxesAndTaxCredits" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxesAndTaxCredits">Deferred income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxesAndTaxCredits" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:title="label: DeferredIncomeTaxesAndTaxCredits to us-gaap_DeferredIncomeTaxesAndTaxCredits" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl1" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl1">Deferred Income Taxes and Tax Credits</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxesAndTaxCredits" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl1" xlink:title="label: DeferredIncomeTaxesAndTaxCredits to us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xml:lang="en-US" id="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable">Property, Plant and Equipment [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="label: ScheduleOfPropertyPlantAndEquipmentTable to us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="CommonStockParOrStatedValuePerShare" xlink:title="CommonStockParOrStatedValuePerShare" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockParOrStatedValuePerShare" xml:lang="en-US" id="us-gaap_CommonStockParOrStatedValuePerShare">Common stock, par value (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" xlink:title="label: CommonStockParOrStatedValuePerShare to us-gaap_CommonStockParOrStatedValuePerShare" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentByTypeAxis">Long-Lived Tangible Asset [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:title="label: PropertyPlantAndEquipmentByTypeAxis to us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="PropertyPlantAndEquipmentLineItems" xlink:title="PropertyPlantAndEquipmentLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentLineItems" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentLineItems">Property, Plant and Equipment [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:title="label: PropertyPlantAndEquipmentLineItems to us-gaap_PropertyPlantAndEquipmentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="CommonStockCapitalSharesReservedForFutureIssuance" xlink:title="CommonStockCapitalSharesReservedForFutureIssuance" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xml:lang="en-US" id="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance">Number of common shares reserved for issuance (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:title="label: CommonStockCapitalSharesReservedForFutureIssuance to us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl1" xml:lang="en-US" id="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl1">Common Stock, Capital Shares Reserved for Future Issuance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl1" xlink:title="label: CommonStockCapitalSharesReservedForFutureIssuance to us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingCostsAndExpenses" xlink:label="OperatingCostsAndExpenses" xlink:title="OperatingCostsAndExpenses" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingCostsAndExpenses" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingCostsAndExpenses" xml:lang="en-US" id="us-gaap_OperatingCostsAndExpenses">Operating expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingCostsAndExpenses" xlink:to="us-gaap_OperatingCostsAndExpenses" xlink:title="label: OperatingCostsAndExpenses to us-gaap_OperatingCostsAndExpenses" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_StockholdersEquity" xml:lang="en-US" id="us-gaap_StockholdersEquity">Total stockholders' equity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquity" xlink:to="us-gaap_StockholdersEquity" xlink:title="label: StockholdersEquity to us-gaap_StockholdersEquity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquity1" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_StockholdersEquity1" xml:lang="en-US" id="us-gaap_StockholdersEquity1">Balance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquity" xlink:to="us-gaap_StockholdersEquity1" xlink:title="label: StockholdersEquity to us-gaap_StockholdersEquity1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquity2" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_StockholdersEquity2" xml:lang="en-US" id="us-gaap_StockholdersEquity2">Balance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquity" xlink:to="us-gaap_StockholdersEquity2" xlink:title="label: StockholdersEquity to us-gaap_StockholdersEquity2" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockholdersEquity_lbl3" xml:lang="en-US" id="us-gaap_StockholdersEquity_lbl3">Equity, Attributable to Parent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl3" xlink:title="label: StockholdersEquity to us-gaap_StockholdersEquity_lbl3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncomeTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_IncomeTaxExpenseBenefit">Income tax provision</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:title="label: IncomeTaxExpenseBenefit to us-gaap_IncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxExpenseBenefit_lbl1" xml:lang="en-US" id="us-gaap_IncomeTaxExpenseBenefit_lbl1">Income Tax Expense (Benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl1" xlink:title="label: IncomeTaxExpenseBenefit to us-gaap_IncomeTaxExpenseBenefit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="StatementEquityComponentsAxis" xlink:title="StatementEquityComponentsAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementEquityComponentsAxis" xml:lang="en-US" id="us-gaap_StatementEquityComponentsAxis">Equity Components [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:title="label: StatementEquityComponentsAxis to us-gaap_StatementEquityComponentsAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="AdditionalPaidInCapitalMember" xlink:title="AdditionalPaidInCapitalMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdditionalPaidInCapitalMember" xml:lang="en-US" id="us-gaap_AdditionalPaidInCapitalMember">Paid-in Capital [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember" xlink:title="label: AdditionalPaidInCapitalMember to us-gaap_AdditionalPaidInCapitalMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="RetainedEarningsMember" xlink:title="RetainedEarningsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RetainedEarningsMember" xml:lang="en-US" id="us-gaap_RetainedEarningsMember">Retained Earnings [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember" xlink:title="label: RetainedEarningsMember to us-gaap_RetainedEarningsMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="AccumulatedOtherComprehensiveIncomeMember" xlink:title="AccumulatedOtherComprehensiveIncomeMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xml:lang="en-US" id="us-gaap_AccumulatedOtherComprehensiveIncomeMember">Accumulated Other Comprehensive Income (Loss) [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:title="label: AccumulatedOtherComprehensiveIncomeMember to us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="EquityComponentDomain" xlink:title="EquityComponentDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EquityComponentDomain" xml:lang="en-US" id="us-gaap_EquityComponentDomain">Equity Component [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain" xlink:title="label: EquityComponentDomain to us-gaap_EquityComponentDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:label="SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:title="SellingGeneralAndAdministrativeExpensesPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xml:lang="en-US" id="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock">Operating expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:title="label: SellingGeneralAndAdministrativeExpensesPolicyTextBlock to us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_lbl1">Selling, General and Administrative Expenses, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_lbl1" xlink:title="label: SellingGeneralAndAdministrativeExpensesPolicyTextBlock to us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:label="StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:title="StockIssuedDuringPeriodValueRestrictedStockAwardGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross">Vesting of restricted stock units</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:title="label: StockIssuedDuringPeriodValueRestrictedStockAwardGross to us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:label="StockRepurchasedAndRetiredDuringPeriodValue" xlink:title="StockRepurchasedAndRetiredDuringPeriodValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xml:lang="en-US" id="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue">Repurchase of common stock</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockRepurchasedAndRetiredDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:title="label: StockRepurchasedAndRetiredDuringPeriodValue to us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_lbl1" xml:lang="en-US" id="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_lbl1">Stock Repurchased and Retired During Period, Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockRepurchasedAndRetiredDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_lbl1" xlink:title="label: StockRepurchasedAndRetiredDuringPeriodValue to us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:title="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross">Number of shares issued from vesting of restricted stock (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:title="label: StockIssuedDuringPeriodSharesRestrictedStockAwardGross to us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross1" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross1" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross1">Vesting of restricted stock units (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross1" xlink:title="label: StockIssuedDuringPeriodSharesRestrictedStockAwardGross to us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl2" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl2">Stock Issued During Period, Shares, Restricted Stock Award, Gross</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl2" xlink:title="label: StockIssuedDuringPeriodSharesRestrictedStockAwardGross to us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:label="StockRepurchasedAndRetiredDuringPeriodShares" xlink:title="StockRepurchasedAndRetiredDuringPeriodShares" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xml:lang="en-US" id="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares">Repurchase of common stock (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockRepurchasedAndRetiredDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:title="label: StockRepurchasedAndRetiredDuringPeriodShares to us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_lbl1" xml:lang="en-US" id="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_lbl1">Stock Repurchased and Retired During Period, Shares</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockRepurchasedAndRetiredDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_lbl1" xlink:title="label: StockRepurchasedAndRetiredDuringPeriodShares to us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="TreasuryStockSharesAcquired" xlink:title="TreasuryStockSharesAcquired" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockSharesAcquired" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_TreasuryStockSharesAcquired" xml:lang="en-US" id="us-gaap_TreasuryStockSharesAcquired">Purchase of treasury stock (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockSharesAcquired" xlink:to="us-gaap_TreasuryStockSharesAcquired" xlink:title="label: TreasuryStockSharesAcquired to us-gaap_TreasuryStockSharesAcquired" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockSharesAcquired_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockSharesAcquired_lbl1" xml:lang="en-US" id="us-gaap_TreasuryStockSharesAcquired_lbl1">Treasury Stock, Shares, Acquired</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockSharesAcquired" xlink:to="us-gaap_TreasuryStockSharesAcquired_lbl1" xlink:title="label: TreasuryStockSharesAcquired to us-gaap_TreasuryStockSharesAcquired_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="LiabilityForUncertainTaxPositionsNoncurrent" xlink:title="LiabilityForUncertainTaxPositionsNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xml:lang="en-US" id="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent">Uncertain tax positions</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilityForUncertainTaxPositionsNoncurrent" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:title="label: LiabilityForUncertainTaxPositionsNoncurrent to us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_lbl1" xml:lang="en-US" id="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_lbl1">Liability for Uncertainty in Income Taxes, Noncurrent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilityForUncertainTaxPositionsNoncurrent" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_lbl1" xlink:title="label: LiabilityForUncertainTaxPositionsNoncurrent to us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:label="TreasuryStockValueAcquiredCostMethod" xlink:title="TreasuryStockValueAcquiredCostMethod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_TreasuryStockValueAcquiredCostMethod" xml:lang="en-US" id="us-gaap_TreasuryStockValueAcquiredCostMethod">Purchase of treasury stock</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockValueAcquiredCostMethod" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:title="label: TreasuryStockValueAcquiredCostMethod to us-gaap_TreasuryStockValueAcquiredCostMethod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl1" xml:lang="en-US" id="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl1">Treasury Stock, Value, Acquired, Cost Method</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockValueAcquiredCostMethod" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl1" xlink:title="label: TreasuryStockValueAcquiredCostMethod to us-gaap_TreasuryStockValueAcquiredCostMethod_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">Shares [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract">Restricted Stock Plan [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="EarningsPerShareTextBlock" xlink:title="EarningsPerShareTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareTextBlock" xml:lang="en-US" id="us-gaap_EarningsPerShareTextBlock">EARNINGS PER SHARE</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock" xlink:title="label: EarningsPerShareTextBlock to us-gaap_EarningsPerShareTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:title="WeightedAverageNumberOfSharesOutstandingAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">Weighted average number of shares outstanding:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:title="label: WeightedAverageNumberOfSharesOutstandingAbstract to us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract1" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract1">Denominator [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract1" xlink:title="label: WeightedAverageNumberOfSharesOutstandingAbstract to us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:title="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xml:lang="en-US" id="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest">Comprehensive income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:title="label: ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest to us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl1" xml:lang="en-US" id="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl1">Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl1" xlink:title="label: ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest to us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="CommitmentsAndContingencies" xlink:title="CommitmentsAndContingencies" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommitmentsAndContingencies" xml:lang="en-US" id="us-gaap_CommitmentsAndContingencies">COMMITMENTS AND CONTINGENCIES (Note 6)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies" xlink:title="label: CommitmentsAndContingencies to us-gaap_CommitmentsAndContingencies" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xml:lang="en-US" id="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">Adjustments to reconcile net income to net cash provided by operating activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="label: AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:label="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:title="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xml:lang="en-US" id="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities">Total adjustments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:title="label: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_lbl1" xml:lang="en-US" id="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_lbl1">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_lbl1" xlink:title="label: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities to us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableTradeCurrent" xlink:label="AccountsPayableTradeCurrent" xlink:title="AccountsPayableTradeCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsPayableTradeCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsPayableTradeCurrent" xml:lang="en-US" id="us-gaap_AccountsPayableTradeCurrent">Accounts payable-trade</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsPayableTradeCurrent" xlink:to="us-gaap_AccountsPayableTradeCurrent" xlink:title="label: AccountsPayableTradeCurrent to us-gaap_AccountsPayableTradeCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="TaxesPayableCurrent" xlink:title="TaxesPayableCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TaxesPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TaxesPayableCurrent" xml:lang="en-US" id="us-gaap_TaxesPayableCurrent">Income taxes payable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent" xlink:title="label: TaxesPayableCurrent to us-gaap_TaxesPayableCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xml:lang="en-US" id="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">Stock-based compensation expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="label: AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue to us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1" xml:lang="en-US" id="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1">APIC, Share-Based Payment Arrangement, Increase for Cost Recognition</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1" xlink:title="label: AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue to us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAbstract" xlink:label="NetIncomeLossAbstract" xlink:title="NetIncomeLossAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetIncomeLossAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetIncomeLossAbstract" xml:lang="en-US" id="us-gaap_NetIncomeLossAbstract">Numerator [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetIncomeLossAbstract" xlink:to="us-gaap_NetIncomeLossAbstract" xlink:title="label: NetIncomeLossAbstract to us-gaap_NetIncomeLossAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xml:lang="en-US" id="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">Income before income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="label: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1" xml:lang="en-US" id="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1" xlink:title="label: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xml:lang="en-US" id="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation">Shares withheld for taxes and cancelled</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="label: AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation to us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl1" xml:lang="en-US" id="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl1">Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl1" xlink:title="label: AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation to us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfStores" xlink:label="NumberOfStores" xlink:title="NumberOfStores" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NumberOfStores" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_NumberOfStores" xml:lang="en-US" id="us-gaap_NumberOfStores">Number of stores</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfStores" xlink:to="us-gaap_NumberOfStores" xlink:title="label: NumberOfStores to us-gaap_NumberOfStores" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NumberOfStores_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NumberOfStores_lbl1" xml:lang="en-US" id="us-gaap_NumberOfStores_lbl1">Number of Stores</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfStores" xlink:to="us-gaap_NumberOfStores_lbl1" xlink:title="label: NumberOfStores to us-gaap_NumberOfStores_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xml:lang="en-US" id="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation">Shares withheld for taxes and cancelled (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="label: SharesPaidForTaxWithholdingForShareBasedCompensation to us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1" xml:lang="en-US" id="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1">Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1" xlink:title="label: SharesPaidForTaxWithholdingForShareBasedCompensation to us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:title="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xml:lang="en-US" id="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:title="label: BasisOfPresentationAndSignificantAccountingPoliciesTextBlock to us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="SharesOutstanding" xlink:title="SharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_SharesOutstanding" xml:lang="en-US" id="us-gaap_SharesOutstanding">Balance (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharesOutstanding" xlink:to="us-gaap_SharesOutstanding" xlink:title="label: SharesOutstanding to us-gaap_SharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharesOutstanding1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_SharesOutstanding1" xml:lang="en-US" id="us-gaap_SharesOutstanding1">Balance (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharesOutstanding" xlink:to="us-gaap_SharesOutstanding1" xlink:title="label: SharesOutstanding to us-gaap_SharesOutstanding1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharesOutstanding_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharesOutstanding_lbl2" xml:lang="en-US" id="us-gaap_SharesOutstanding_lbl2">Shares, Outstanding</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_lbl2" xlink:title="label: SharesOutstanding to us-gaap_SharesOutstanding_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="ScheduleOfInventoryCurrentTableTextBlock" xlink:title="ScheduleOfInventoryCurrentTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfInventoryCurrentTableTextBlock">Inventory</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:title="label: ScheduleOfInventoryCurrentTableTextBlock to us-gaap_ScheduleOfInventoryCurrentTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl1">Schedule of Inventory, Current [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl1" xlink:title="label: ScheduleOfInventoryCurrentTableTextBlock to us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="CommitmentsAndContingenciesDisclosureAbstract" xlink:title="CommitmentsAndContingenciesDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xml:lang="en-US" id="us-gaap_CommitmentsAndContingenciesDisclosureAbstract">COMMITMENTS AND CONTINGENCIES [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:title="label: CommitmentsAndContingenciesDisclosureAbstract to us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxDisclosureAbstract" xml:lang="en-US" id="us-gaap_IncomeTaxDisclosureAbstract">INCOME TAX [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract" xlink:title="label: IncomeTaxDisclosureAbstract to us-gaap_IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" xlink:title="DebtDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtDisclosureAbstract" xml:lang="en-US" id="us-gaap_DebtDisclosureAbstract">NOTES PAYABLE AND LONG-TERM DEBT [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract" xlink:title="label: DebtDisclosureAbstract to us-gaap_DebtDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:label="ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:title="ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock">Non-vested, Service-based Awards</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:title="label: ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock to us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xml:lang="en-US" id="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">STOCK-BASED COMPENSATION [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="label: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="RestrictedStockUnitsRSUMember" xlink:title="RestrictedStockUnitsRSUMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RestrictedStockUnitsRSUMember" xml:lang="en-US" id="us-gaap_RestrictedStockUnitsRSUMember">Restricted Stock Units [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:title="label: RestrictedStockUnitsRSUMember to us-gaap_RestrictedStockUnitsRSUMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RestrictedStockUnitsRSUMember1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_RestrictedStockUnitsRSUMember1" xml:lang="en-US" id="us-gaap_RestrictedStockUnitsRSUMember1">Restricted Stock Units (RSUs) [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember1" xlink:title="label: RestrictedStockUnitsRSUMember to us-gaap_RestrictedStockUnitsRSUMember1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountingPoliciesAbstract" xml:lang="en-US" id="us-gaap_AccountingPoliciesAbstract">BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract" xlink:title="label: AccountingPoliciesAbstract to us-gaap_AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="IncreaseDecreaseInOtherCurrentAssets" xlink:title="IncreaseDecreaseInOtherCurrentAssets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInOtherCurrentAssets" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOtherCurrentAssets">Other current assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOtherCurrentAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:title="label: IncreaseDecreaseInOtherCurrentAssets to us-gaap_IncreaseDecreaseInOtherCurrentAssets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl1">Increase (Decrease) in Other Current Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOtherCurrentAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl1" xlink:title="label: IncreaseDecreaseInOtherCurrentAssets to us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="IncreaseDecreaseInOtherNoncurrentAssets" xlink:title="IncreaseDecreaseInOtherNoncurrentAssets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets">Other assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOtherNoncurrentAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:title="label: IncreaseDecreaseInOtherNoncurrentAssets to us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl1">Increase (Decrease) in Other Noncurrent Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOtherNoncurrentAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl1" xlink:title="label: IncreaseDecreaseInOtherNoncurrentAssets to us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:title="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">Computation of Basic and Diluted EPS</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:title="label: ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock to us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:title="ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock">Activity of Non-vested Restricted Common Stock Awards</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:title="label: ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock to us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xml:lang="en-US" id="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="label: ScheduleOfFiniteLivedIntangibleAssetsTable to us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">Weighted Average Share Price [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">Forfeited (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="ComprehensiveIncomePolicyPolicyTextBlock" xlink:title="ComprehensiveIncomePolicyPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xml:lang="en-US" id="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock">Comprehensive Income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComprehensiveIncomePolicyPolicyTextBlock" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:title="label: ComprehensiveIncomePolicyPolicyTextBlock to us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="BalanceSheetLocationAxis" xlink:title="BalanceSheetLocationAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_BalanceSheetLocationAxis" xml:lang="en-US" id="us-gaap_BalanceSheetLocationAxis">Balance Sheet Location [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:title="label: BalanceSheetLocationAxis to us-gaap_BalanceSheetLocationAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="PlanNameAxis" xlink:title="PlanNameAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PlanNameAxis" xml:lang="en-US" id="us-gaap_PlanNameAxis">Plan Name [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PlanNameAxis" xlink:to="us-gaap_PlanNameAxis" xlink:title="label: PlanNameAxis to us-gaap_PlanNameAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="PlanNameDomain" xlink:title="PlanNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PlanNameDomain" xml:lang="en-US" id="us-gaap_PlanNameDomain">Plan Name [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PlanNameDomain" xlink:to="us-gaap_PlanNameDomain" xlink:title="label: PlanNameDomain to us-gaap_PlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AwardTypeAxis" xml:lang="en-US" id="us-gaap_AwardTypeAxis">Award Type [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis" xlink:title="label: AwardTypeAxis to us-gaap_AwardTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:title="AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xml:lang="en-US" id="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">Weighted average amortization period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:title="label: AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife to us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:label="AccruedLiabilitiesAndOtherLiabilities" xlink:title="AccruedLiabilitiesAndOtherLiabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccruedLiabilitiesAndOtherLiabilities" xml:lang="en-US" id="us-gaap_AccruedLiabilitiesAndOtherLiabilities">Accrued expenses and other liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccruedLiabilitiesAndOtherLiabilities" xlink:to="us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:title="label: AccruedLiabilitiesAndOtherLiabilities to us-gaap_AccruedLiabilitiesAndOtherLiabilities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="PropertyPlantAndEquipmentUsefulLife" xlink:title="PropertyPlantAndEquipmentUsefulLife" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentUsefulLife" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentUsefulLife">Estimated useful lives of assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:title="label: PropertyPlantAndEquipmentUsefulLife to us-gaap_PropertyPlantAndEquipmentUsefulLife" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">Amortization expense, 2026</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="label: FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths to us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">Amortization expense, 2027</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:title="label: FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo to us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">Amortization expense, 2028</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:title="label: FiniteLivedIntangibleAssetsAmortizationExpenseYearThree to us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">Amortization expense, 2029</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:title="label: FiniteLivedIntangibleAssetsAmortizationExpenseYearFour to us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear">Amortization expense, 2025</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:title="label: FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear to us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">Vesting period from grant date</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="NumberOfOperatingSegments" xlink:title="NumberOfOperatingSegments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NumberOfOperatingSegments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NumberOfOperatingSegments" xml:lang="en-US" id="us-gaap_NumberOfOperatingSegments">Number of operating segments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfOperatingSegments" xlink:to="us-gaap_NumberOfOperatingSegments" xlink:title="label: NumberOfOperatingSegments to us-gaap_NumberOfOperatingSegments" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportableSegments" xlink:label="NumberOfReportableSegments" xlink:title="NumberOfReportableSegments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NumberOfReportableSegments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NumberOfReportableSegments" xml:lang="en-US" id="us-gaap_NumberOfReportableSegments">Number of reporting segments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfReportableSegments" xlink:to="us-gaap_NumberOfReportableSegments" xlink:title="label: NumberOfReportableSegments to us-gaap_NumberOfReportableSegments" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="ConcentrationRiskPercentage1" xlink:title="ConcentrationRiskPercentage1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ConcentrationRiskPercentage1" xml:lang="en-US" id="us-gaap_ConcentrationRiskPercentage1">Revenue percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1" xlink:title="label: ConcentrationRiskPercentage1 to us-gaap_ConcentrationRiskPercentage1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskPercentage1_lbl1" xml:lang="en-US" id="us-gaap_ConcentrationRiskPercentage1_lbl1">Concentration Risk, Percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl1" xlink:title="label: ConcentrationRiskPercentage1 to us-gaap_ConcentrationRiskPercentage1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xml:lang="en-US" id="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">Foreign currency translation adjustments, net of tax</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="label: OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax to us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="BalanceSheetLocationDomain" xlink:title="BalanceSheetLocationDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_BalanceSheetLocationDomain" xml:lang="en-US" id="us-gaap_BalanceSheetLocationDomain">Balance Sheet Location [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BalanceSheetLocationDomain" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:title="label: BalanceSheetLocationDomain to us-gaap_BalanceSheetLocationDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntellectualPropertyMember" xlink:label="IntellectualPropertyMember" xlink:title="IntellectualPropertyMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IntellectualPropertyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IntellectualPropertyMember" xml:lang="en-US" id="us-gaap_IntellectualPropertyMember">Trademarks/Copyrights [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IntellectualPropertyMember" xlink:to="us-gaap_IntellectualPropertyMember" xlink:title="label: IntellectualPropertyMember to us-gaap_IntellectualPropertyMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IntellectualPropertyMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IntellectualPropertyMember_lbl1" xml:lang="en-US" id="us-gaap_IntellectualPropertyMember_lbl1">Intellectual Property [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IntellectualPropertyMember" xlink:to="us-gaap_IntellectualPropertyMember_lbl1" xlink:title="label: IntellectualPropertyMember to us-gaap_IntellectualPropertyMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="AccountsPayableAndAccruedLiabilitiesMember" xlink:title="AccountsPayableAndAccruedLiabilitiesMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xml:lang="en-US" id="us-gaap_AccountsPayableAndAccruedLiabilitiesMember">Accrued Expenses and Other Liabilities [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsPayableAndAccruedLiabilitiesMember" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:title="label: AccountsPayableAndAccruedLiabilitiesMember to us-gaap_AccountsPayableAndAccruedLiabilitiesMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="SalesRevenueNetMember" xlink:title="SalesRevenueNetMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SalesRevenueNetMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SalesRevenueNetMember" xml:lang="en-US" id="us-gaap_SalesRevenueNetMember">Sales [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember" xlink:title="label: SalesRevenueNetMember to us-gaap_SalesRevenueNetMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:label="StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:title="StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xml:lang="en-US" id="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1">Remaining repurchase of common stock</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:to="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:title="label: StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1 to us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="DeferredIncomeTaxAssetsNet" xlink:title="DeferredIncomeTaxAssetsNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredIncomeTaxAssetsNet" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxAssetsNet">Deferred income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" xlink:title="label: DeferredIncomeTaxAssetsNet to us-gaap_DeferredIncomeTaxAssetsNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredIncomeTaxAssetsNet_lbl1" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxAssetsNet_lbl1">Deferred Income Tax Assets, Net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl1" xlink:title="label: DeferredIncomeTaxAssetsNet to us-gaap_DeferredIncomeTaxAssetsNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="DeferredIncomeTaxLiabilitiesNet" xlink:title="DeferredIncomeTaxLiabilitiesNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredIncomeTaxLiabilitiesNet" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxLiabilitiesNet">Deferred income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:title="label: DeferredIncomeTaxLiabilitiesNet to us-gaap_DeferredIncomeTaxLiabilitiesNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl1" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl1">Deferred Income Tax Liabilities, Net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl1" xlink:title="label: DeferredIncomeTaxLiabilitiesNet to us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="TreasuryStockCommonMember" xlink:title="TreasuryStockCommonMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockCommonMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockCommonMember" xml:lang="en-US" id="us-gaap_TreasuryStockCommonMember">Treasury Stock [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockCommonMember" xlink:to="us-gaap_TreasuryStockCommonMember" xlink:title="label: TreasuryStockCommonMember to us-gaap_TreasuryStockCommonMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="TreasuryStockCommonShares" xlink:title="TreasuryStockCommonShares" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockCommonShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockCommonShares" xml:lang="en-US" id="us-gaap_TreasuryStockCommonShares">Treasury stock, shares (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares" xlink:title="label: TreasuryStockCommonShares to us-gaap_TreasuryStockCommonShares" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="TreasuryStockCommonValue" xlink:title="TreasuryStockCommonValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockCommonValue" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_TreasuryStockCommonValue" xml:lang="en-US" id="us-gaap_TreasuryStockCommonValue">Treasury stock at cost (1,424,376 shares at June 30, 2024 and December 31, 2023)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockCommonValue" xlink:to="us-gaap_TreasuryStockCommonValue" xlink:title="label: TreasuryStockCommonValue to us-gaap_TreasuryStockCommonValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockCommonValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockCommonValue_lbl1" xml:lang="en-US" id="us-gaap_TreasuryStockCommonValue_lbl1">Treasury Stock, Common, Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockCommonValue" xlink:to="us-gaap_TreasuryStockCommonValue_lbl1" xlink:title="label: TreasuryStockCommonValue to us-gaap_TreasuryStockCommonValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueRevenueRecognized1" xlink:label="DeferredRevenueRevenueRecognized1" xlink:title="DeferredRevenueRevenueRecognized1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredRevenueRevenueRecognized1" xml:lang="en-US" id="us-gaap_DeferredRevenueRevenueRecognized1">Deferred revenue, recognized</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredRevenueRevenueRecognized1" xlink:to="us-gaap_DeferredRevenueRevenueRecognized1" xlink:title="label: DeferredRevenueRevenueRecognized1 to us-gaap_DeferredRevenueRevenueRecognized1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="DisaggregationOfRevenueAbstract" xlink:title="DisaggregationOfRevenueAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisaggregationOfRevenueAbstract" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueAbstract">Disaggregated Revenue [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueAbstract" xlink:to="us-gaap_DisaggregationOfRevenueAbstract" xlink:title="label: DisaggregationOfRevenueAbstract to us-gaap_DisaggregationOfRevenueAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="DisaggregationOfRevenueTableTextBlock" xlink:title="DisaggregationOfRevenueTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisaggregationOfRevenueTableTextBlock" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueTableTextBlock">Disaggregated Revenue</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:title="label: DisaggregationOfRevenueTableTextBlock to us-gaap_DisaggregationOfRevenueTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="DisaggregationOfRevenueTable" xlink:title="DisaggregationOfRevenueTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisaggregationOfRevenueTable" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueTable">Disaggregation of Revenue [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueTable" xlink:title="label: DisaggregationOfRevenueTable to us-gaap_DisaggregationOfRevenueTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="DisaggregationOfRevenueLineItems" xlink:title="DisaggregationOfRevenueLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisaggregationOfRevenueLineItems" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueLineItems">Disaggregation of Revenue [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueLineItems" xlink:title="label: DisaggregationOfRevenueLineItems to us-gaap_DisaggregationOfRevenueLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:label="ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:title="ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss">Sales return allowance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:to="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:title="label: ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss to us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss_lbl1" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss_lbl1">Contract with Customer, Asset, Allowance for Credit Loss</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:to="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss_lbl1" xlink:title="label: ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss to us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="ContractWithCustomerLiabilityRevenueRecognized" xlink:title="ContractWithCustomerLiabilityRevenueRecognized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiabilityRevenueRecognized">Revenue recognized from change in deferred obligation balance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:title="label: ContractWithCustomerLiabilityRevenueRecognized to us-gaap_ContractWithCustomerLiabilityRevenueRecognized" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="RevenueFromContractWithCustomerAbstract" xlink:title="RevenueFromContractWithCustomerAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueFromContractWithCustomerAbstract" xml:lang="en-US" id="us-gaap_RevenueFromContractWithCustomerAbstract">Revenue Recognition [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:title="label: RevenueFromContractWithCustomerAbstract to us-gaap_RevenueFromContractWithCustomerAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="ContractWithCustomerLiability" xlink:title="ContractWithCustomerLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ContractWithCustomerLiability" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiability">Contract with customer liability</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability" xlink:title="label: ContractWithCustomerLiability to us-gaap_ContractWithCustomerLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiability_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerLiability_lbl1" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiability_lbl1">Contract with Customer, Liability</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl1" xlink:title="label: ContractWithCustomerLiability to us-gaap_ContractWithCustomerLiability_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="FinanceLeaseRightOfUseAsset" xlink:title="FinanceLeaseRightOfUseAsset" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseRightOfUseAsset" xml:lang="en-US" id="us-gaap_FinanceLeaseRightOfUseAsset">Financing lease assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseRightOfUseAsset" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset" xlink:title="label: FinanceLeaseRightOfUseAsset to us-gaap_FinanceLeaseRightOfUseAsset" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseRightOfUseAsset" xml:lang="en-US" id="us-gaap_OperatingLeaseRightOfUseAsset">Operating lease assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" xlink:title="label: OperatingLeaseRightOfUseAsset to us-gaap_OperatingLeaseRightOfUseAsset" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xml:lang="en-US" id="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">Net sales</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="label: RevenueFromContractWithCustomerExcludingAssessedTax to us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax1" xml:lang="en-US" id="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax1">Sales</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax1" xlink:title="label: RevenueFromContractWithCustomerExcludingAssessedTax to us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xml:lang="en-US" id="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">Effect of exchange rate changes on cash and cash equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="label: EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents to us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">Net (decrease) increase in cash and cash equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">Cash and cash equivalents, end of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents1" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents1" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents1">Cash and cash equivalents, beginning of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents1" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="FinanceLeasePrincipalPayments" xlink:title="FinanceLeasePrincipalPayments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeasePrincipalPayments" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_FinanceLeasePrincipalPayments" xml:lang="en-US" id="us-gaap_FinanceLeasePrincipalPayments">Payment of finance lease obligations</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeasePrincipalPayments" xlink:to="us-gaap_FinanceLeasePrincipalPayments" xlink:title="label: FinanceLeasePrincipalPayments to us-gaap_FinanceLeasePrincipalPayments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeasePrincipalPayments_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeasePrincipalPayments_lbl1" xml:lang="en-US" id="us-gaap_FinanceLeasePrincipalPayments_lbl1">Finance Lease, Principal Payments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeasePrincipalPayments" xlink:to="us-gaap_FinanceLeasePrincipalPayments_lbl1" xlink:title="label: FinanceLeasePrincipalPayments to us-gaap_FinanceLeasePrincipalPayments_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="FinanceLeaseLiabilityNoncurrent" xlink:title="FinanceLeaseLiabilityNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FinanceLeaseLiabilityNoncurrent" xml:lang="en-US" id="us-gaap_FinanceLeaseLiabilityNoncurrent">Finance lease liabilities, non-current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FinanceLeaseLiabilityNoncurrent" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:title="label: FinanceLeaseLiabilityNoncurrent to us-gaap_FinanceLeaseLiabilityNoncurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseLiabilityCurrent" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilityCurrent">Current portion of operating lease liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" xlink:title="label: OperatingLeaseLiabilityCurrent to us-gaap_OperatingLeaseLiabilityCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseLiabilityCurrent_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilityCurrent_lbl1">Operating Lease, Liability, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl1" xlink:title="label: OperatingLeaseLiabilityCurrent to us-gaap_OperatingLeaseLiabilityCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="OperatingLeaseLiabilityNoncurrent" xlink:title="OperatingLeaseLiabilityNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseLiabilityNoncurrent" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilityNoncurrent">Operating lease liabilities, non-current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:title="label: OperatingLeaseLiabilityNoncurrent to us-gaap_OperatingLeaseLiabilityNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl1">Operating Lease, Liability, Noncurrent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl1" xlink:title="label: OperatingLeaseLiabilityNoncurrent to us-gaap_OperatingLeaseLiabilityNoncurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="LesseeLeasesPolicyTextBlock" xlink:title="LesseeLeasesPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeLeasesPolicyTextBlock" xml:lang="en-US" id="us-gaap_LesseeLeasesPolicyTextBlock">Leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeLeasesPolicyTextBlock" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock" xlink:title="label: LesseeLeasesPolicyTextBlock to us-gaap_LesseeLeasesPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeLeasesPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_LesseeLeasesPolicyTextBlock_lbl1">Lessee, Leases [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeLeasesPolicyTextBlock" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock_lbl1" xlink:title="label: LesseeLeasesPolicyTextBlock to us-gaap_LesseeLeasesPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="RevenueFromContractWithCustomerPolicyTextBlock" xlink:title="RevenueFromContractWithCustomerPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xml:lang="en-US" id="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">Revenue Recognition</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:title="label: RevenueFromContractWithCustomerPolicyTextBlock to us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="ShareBasedPaymentArrangementEmployeeMember" xlink:title="ShareBasedPaymentArrangementEmployeeMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_ShareBasedPaymentArrangementEmployeeMember" xml:lang="en-US" id="us-gaap_ShareBasedPaymentArrangementEmployeeMember">Key Employees [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedPaymentArrangementEmployeeMember" xlink:to="us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:title="label: ShareBasedPaymentArrangementEmployeeMember to us-gaap_ShareBasedPaymentArrangementEmployeeMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedPaymentArrangementEmployeeMember1" xml:lang="en-US" id="us-gaap_ShareBasedPaymentArrangementEmployeeMember1">Employees [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedPaymentArrangementEmployeeMember" xlink:to="us-gaap_ShareBasedPaymentArrangementEmployeeMember1" xlink:title="label: ShareBasedPaymentArrangementEmployeeMember to us-gaap_ShareBasedPaymentArrangementEmployeeMember1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedPaymentArrangementEmployeeMember_lbl2" xml:lang="en-US" id="us-gaap_ShareBasedPaymentArrangementEmployeeMember_lbl2">Share-Based Payment Arrangement, Employee [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedPaymentArrangementEmployeeMember" xlink:to="us-gaap_ShareBasedPaymentArrangementEmployeeMember_lbl2" xlink:title="label: ShareBasedPaymentArrangementEmployeeMember to us-gaap_ShareBasedPaymentArrangementEmployeeMember_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:label="CreditLossFinancialInstrumentPolicyTextBlock" xlink:title="CreditLossFinancialInstrumentPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xml:lang="en-US" id="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock">Accounts Receivable - Trade and Expected Credit Losses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CreditLossFinancialInstrumentPolicyTextBlock" xlink:to="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:title="label: CreditLossFinancialInstrumentPolicyTextBlock to us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:title="OperatingLeaseRightOfUseAssetAmortizationExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xml:lang="en-US" id="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense">Operating lease asset amortization</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:title="label: OperatingLeaseRightOfUseAssetAmortizationExpense to us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="IncreaseDecreaseInOperatingLeaseLiability" xlink:title="IncreaseDecreaseInOperatingLeaseLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOperatingLeaseLiability">Operating lease liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOperatingLeaseLiability" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:title="label: IncreaseDecreaseInOperatingLeaseLiability to us-gaap_IncreaseDecreaseInOperatingLeaseLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl1">Increase (Decrease) in Operating Lease Liability</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOperatingLeaseLiability" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl1" xlink:title="label: IncreaseDecreaseInOperatingLeaseLiability to us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="TitleOfIndividualWithRelationshipToEntityDomain" xlink:title="TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:label xlink:type="resource" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_TitleOfIndividualWithRelationshipToEntityDomain" xml:lang="en-US" id="srt_TitleOfIndividualWithRelationshipToEntityDomain">Title of Individual [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:title="label: TitleOfIndividualWithRelationshipToEntityDomain to srt_TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_DirectorMember" xlink:label="DirectorMember" xlink:title="DirectorMember" />
    <link:label xlink:type="resource" xlink:label="srt_DirectorMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_DirectorMember" xml:lang="en-US" id="srt_DirectorMember">Board of Directors [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DirectorMember" xlink:to="srt_DirectorMember" xlink:title="label: DirectorMember to srt_DirectorMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ChiefExecutiveOfficerMember" xlink:label="ChiefExecutiveOfficerMember" xlink:title="ChiefExecutiveOfficerMember" />
    <link:label xlink:type="resource" xlink:label="srt_ChiefExecutiveOfficerMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ChiefExecutiveOfficerMember" xml:lang="en-US" id="srt_ChiefExecutiveOfficerMember">Chief Executive Officer [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ChiefExecutiveOfficerMember" xlink:to="srt_ChiefExecutiveOfficerMember" xlink:title="label: ChiefExecutiveOfficerMember to srt_ChiefExecutiveOfficerMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:label xlink:type="resource" xlink:label="srt_SegmentGeographicalDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_SegmentGeographicalDomain" xml:lang="en-US" id="srt_SegmentGeographicalDomain">Geographical [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain" xlink:title="label: SegmentGeographicalDomain to srt_SegmentGeographicalDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:label xlink:type="resource" xlink:label="srt_StatementGeographicalAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_StatementGeographicalAxis" xml:lang="en-US" id="srt_StatementGeographicalAxis">Geographical [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis" xlink:title="label: StatementGeographicalAxis to srt_StatementGeographicalAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:label xlink:type="resource" xlink:label="srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_RangeAxis" xml:lang="en-US" id="srt_RangeAxis">Statistical Measurement [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RangeAxis" xlink:to="srt_RangeAxis" xlink:title="label: RangeAxis to srt_RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:label xlink:type="resource" xlink:label="srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_RangeMember" xml:lang="en-US" id="srt_RangeMember">Statistical Measurement [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RangeMember" xlink:to="srt_RangeMember" xlink:title="label: RangeMember to srt_RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:label xlink:type="resource" xlink:label="srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_MaximumMember" xml:lang="en-US" id="srt_MaximumMember">Maximum [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MaximumMember" xlink:to="srt_MaximumMember" xlink:title="label: MaximumMember to srt_MaximumMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:label xlink:type="resource" xlink:label="srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_MinimumMember" xml:lang="en-US" id="srt_MinimumMember">Minimum [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MinimumMember" xlink:to="srt_MinimumMember" xlink:title="label: MinimumMember to srt_MinimumMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="TitleOfIndividualAxis" xlink:title="TitleOfIndividualAxis" />
    <link:label xlink:type="resource" xlink:label="srt_TitleOfIndividualAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_TitleOfIndividualAxis" xml:lang="en-US" id="srt_TitleOfIndividualAxis">Title of Individual [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis" xlink:title="label: TitleOfIndividualAxis to srt_TitleOfIndividualAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramAuthorizedAmount1" xlink:label="StockRepurchaseProgramAuthorizedAmount1" xlink:title="StockRepurchaseProgramAuthorizedAmount1" />
    <link:label xlink:type="resource" xlink:label="srt_StockRepurchaseProgramAuthorizedAmount1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="srt_StockRepurchaseProgramAuthorizedAmount1" xml:lang="en-US" id="srt_StockRepurchaseProgramAuthorizedAmount1">Repurchase of common stock</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockRepurchaseProgramAuthorizedAmount1" xlink:to="srt_StockRepurchaseProgramAuthorizedAmount1" xlink:title="label: StockRepurchaseProgramAuthorizedAmount1 to srt_StockRepurchaseProgramAuthorizedAmount1" />
    <link:label xlink:type="resource" xlink:label="srt_StockRepurchaseProgramAuthorizedAmount1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_StockRepurchaseProgramAuthorizedAmount1_lbl1" xml:lang="en-US" id="srt_StockRepurchaseProgramAuthorizedAmount1_lbl1">Share Repurchase Program, Authorized, Amount</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockRepurchaseProgramAuthorizedAmount1" xlink:to="srt_StockRepurchaseProgramAuthorizedAmount1_lbl1" xlink:title="label: StockRepurchaseProgramAuthorizedAmount1 to srt_StockRepurchaseProgramAuthorizedAmount1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="CA" xlink:title="CA" />
    <link:label xlink:type="resource" xlink:label="country_CA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="country_CA" xml:lang="en-US" id="country_CA">Canada [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CA" xlink:to="country_CA" xlink:title="label: CA to country_CA" />
    <link:label xlink:type="resource" xlink:label="country_CA_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="country_CA_lbl1" xml:lang="en-US" id="country_CA_lbl1">CANADA</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CA" xlink:to="country_CA_lbl1" xlink:title="label: CA to country_CA_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_ES" xlink:label="ES" xlink:title="ES" />
    <link:label xlink:type="resource" xlink:label="country_ES" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="country_ES" xml:lang="en-US" id="country_ES">Spain [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ES" xlink:to="country_ES" xlink:title="label: ES to country_ES" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:label xlink:type="resource" xlink:label="country_US" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="country_US" xml:lang="en-US" id="country_US">United States [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="US" xlink:to="country_US" xlink:title="label: US to country_US" />
    <link:label xlink:type="resource" xlink:label="country_US_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="country_US_lbl1" xml:lang="en-US" id="country_US_lbl1">UNITED STATES</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="US" xlink:to="country_US_lbl1" xlink:title="label: US to country_US_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="CoverAbstract" xlink:title="CoverAbstract" />
    <link:label xlink:type="resource" xlink:label="dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_CoverAbstract" xml:lang="en-US" id="dei_CoverAbstract">Cover [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CoverAbstract" xlink:to="dei_CoverAbstract" xlink:title="label: CoverAbstract to dei_CoverAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="DocumentType" xlink:title="DocumentType" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentType" xml:lang="en-US" id="dei_DocumentType">Document Type</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentType" xlink:to="dei_DocumentType" xlink:title="label: DocumentType to dei_DocumentType" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentQuarterlyReport" xlink:label="DocumentQuarterlyReport" xlink:title="DocumentQuarterlyReport" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentQuarterlyReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentQuarterlyReport" xml:lang="en-US" id="dei_DocumentQuarterlyReport">Document Quarterly Report</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport" xlink:title="label: DocumentQuarterlyReport to dei_DocumentQuarterlyReport" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="DocumentTransitionReport" xlink:title="DocumentTransitionReport" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentTransitionReport" xml:lang="en-US" id="dei_DocumentTransitionReport">Document Transition Report</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport" xlink:title="label: DocumentTransitionReport to dei_DocumentTransitionReport" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="EntityInteractiveDataCurrent" xlink:title="EntityInteractiveDataCurrent" />
    <link:label xlink:type="resource" xlink:label="dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityInteractiveDataCurrent" xml:lang="en-US" id="dei_EntityInteractiveDataCurrent">Entity Interactive Data Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent" xlink:title="label: EntityInteractiveDataCurrent to dei_EntityInteractiveDataCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="AmendmentFlag" xlink:title="AmendmentFlag" />
    <link:label xlink:type="resource" xlink:label="dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_AmendmentFlag" xml:lang="en-US" id="dei_AmendmentFlag">Amendment Flag</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AmendmentFlag" xlink:to="dei_AmendmentFlag" xlink:title="label: AmendmentFlag to dei_AmendmentFlag" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="DocumentFiscalYearFocus" xlink:title="DocumentFiscalYearFocus" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentFiscalYearFocus" xml:lang="en-US" id="dei_DocumentFiscalYearFocus">Document Fiscal Year Focus</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus" xlink:title="label: DocumentFiscalYearFocus to dei_DocumentFiscalYearFocus" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="DocumentFiscalPeriodFocus" xlink:title="DocumentFiscalPeriodFocus" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentFiscalPeriodFocus" xml:lang="en-US" id="dei_DocumentFiscalPeriodFocus">Document Fiscal Period Focus</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus" xlink:title="label: DocumentFiscalPeriodFocus to dei_DocumentFiscalPeriodFocus" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="DocumentPeriodEndDate" xlink:title="DocumentPeriodEndDate" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentPeriodEndDate" xml:lang="en-US" id="dei_DocumentPeriodEndDate">Document Period End Date</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate" xlink:title="label: DocumentPeriodEndDate to dei_DocumentPeriodEndDate" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="EntityRegistrantName" xlink:title="EntityRegistrantName" />
    <link:label xlink:type="resource" xlink:label="dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityRegistrantName" xml:lang="en-US" id="dei_EntityRegistrantName">Entity Registrant Name</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityRegistrantName" xlink:to="dei_EntityRegistrantName" xlink:title="label: EntityRegistrantName to dei_EntityRegistrantName" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="EntityCentralIndexKey" xlink:title="EntityCentralIndexKey" />
    <link:label xlink:type="resource" xlink:label="dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityCentralIndexKey" xml:lang="en-US" id="dei_EntityCentralIndexKey">Entity Central Index Key</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey" xlink:title="label: EntityCentralIndexKey to dei_EntityCentralIndexKey" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="EntityFileNumber" xlink:title="EntityFileNumber" />
    <link:label xlink:type="resource" xlink:label="dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityFileNumber" xml:lang="en-US" id="dei_EntityFileNumber">Entity File Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityFileNumber" xlink:to="dei_EntityFileNumber" xlink:title="label: EntityFileNumber to dei_EntityFileNumber" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="EntityTaxIdentificationNumber" xlink:title="EntityTaxIdentificationNumber" />
    <link:label xlink:type="resource" xlink:label="dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityTaxIdentificationNumber" xml:lang="en-US" id="dei_EntityTaxIdentificationNumber">Entity Tax Identification Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber" xlink:title="label: EntityTaxIdentificationNumber to dei_EntityTaxIdentificationNumber" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="EntityIncorporationStateCountryCode" xlink:title="EntityIncorporationStateCountryCode" />
    <link:label xlink:type="resource" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityIncorporationStateCountryCode" xml:lang="en-US" id="dei_EntityIncorporationStateCountryCode">Entity Incorporation, State or Country Code</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode" xlink:title="label: EntityIncorporationStateCountryCode to dei_EntityIncorporationStateCountryCode" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="CurrentFiscalYearEndDate" xlink:title="CurrentFiscalYearEndDate" />
    <link:label xlink:type="resource" xlink:label="dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_CurrentFiscalYearEndDate" xml:lang="en-US" id="dei_CurrentFiscalYearEndDate">Current Fiscal Year End Date</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate" xlink:title="label: CurrentFiscalYearEndDate to dei_CurrentFiscalYearEndDate" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="EntityCurrentReportingStatus" xlink:title="EntityCurrentReportingStatus" />
    <link:label xlink:type="resource" xlink:label="dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityCurrentReportingStatus" xml:lang="en-US" id="dei_EntityCurrentReportingStatus">Entity Current Reporting Status</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus" xlink:title="label: EntityCurrentReportingStatus to dei_EntityCurrentReportingStatus" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="EntityShellCompany" xlink:title="EntityShellCompany" />
    <link:label xlink:type="resource" xlink:label="dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityShellCompany" xml:lang="en-US" id="dei_EntityShellCompany">Entity Shell Company</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityShellCompany" xlink:to="dei_EntityShellCompany" xlink:title="label: EntityShellCompany to dei_EntityShellCompany" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="EntityFilerCategory" xlink:title="EntityFilerCategory" />
    <link:label xlink:type="resource" xlink:label="dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityFilerCategory" xml:lang="en-US" id="dei_EntityFilerCategory">Entity Filer Category</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityFilerCategory" xlink:to="dei_EntityFilerCategory" xlink:title="label: EntityFilerCategory to dei_EntityFilerCategory" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="EntitySmallBusiness" xlink:title="EntitySmallBusiness" />
    <link:label xlink:type="resource" xlink:label="dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntitySmallBusiness" xml:lang="en-US" id="dei_EntitySmallBusiness">Entity Small Business</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness" xlink:title="label: EntitySmallBusiness to dei_EntitySmallBusiness" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="EntityEmergingGrowthCompany" xlink:title="EntityEmergingGrowthCompany" />
    <link:label xlink:type="resource" xlink:label="dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityEmergingGrowthCompany" xml:lang="en-US" id="dei_EntityEmergingGrowthCompany">Entity Emerging Growth Company</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany" xlink:title="label: EntityEmergingGrowthCompany to dei_EntityEmergingGrowthCompany" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="EntityAddressAddressLine1" xlink:title="EntityAddressAddressLine1" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressAddressLine1" xml:lang="en-US" id="dei_EntityAddressAddressLine1">Entity Address, Address Line One</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1" xlink:title="label: EntityAddressAddressLine1 to dei_EntityAddressAddressLine1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="EntityAddressCityOrTown" xlink:title="EntityAddressCityOrTown" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressCityOrTown" xml:lang="en-US" id="dei_EntityAddressCityOrTown">Entity Address, City or Town</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown" xlink:title="label: EntityAddressCityOrTown to dei_EntityAddressCityOrTown" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="EntityAddressStateOrProvince" xlink:title="EntityAddressStateOrProvince" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressStateOrProvince" xml:lang="en-US" id="dei_EntityAddressStateOrProvince">Entity Address, State or Province</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince" xlink:title="label: EntityAddressStateOrProvince to dei_EntityAddressStateOrProvince" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="EntityAddressPostalZipCode" xlink:title="EntityAddressPostalZipCode" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressPostalZipCode" xml:lang="en-US" id="dei_EntityAddressPostalZipCode">Entity Address, Postal Zip Code</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode" xlink:title="label: EntityAddressPostalZipCode to dei_EntityAddressPostalZipCode" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="CityAreaCode" xlink:title="CityAreaCode" />
    <link:label xlink:type="resource" xlink:label="dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_CityAreaCode" xml:lang="en-US" id="dei_CityAreaCode">City Area Code</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CityAreaCode" xlink:to="dei_CityAreaCode" xlink:title="label: CityAreaCode to dei_CityAreaCode" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="LocalPhoneNumber" xlink:title="LocalPhoneNumber" />
    <link:label xlink:type="resource" xlink:label="dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_LocalPhoneNumber" xml:lang="en-US" id="dei_LocalPhoneNumber">Local Phone Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber" xlink:title="label: LocalPhoneNumber to dei_LocalPhoneNumber" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="Security12bTitle" xlink:title="Security12bTitle" />
    <link:label xlink:type="resource" xlink:label="dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_Security12bTitle" xml:lang="en-US" id="dei_Security12bTitle">Title of 12(b) Security</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Security12bTitle" xlink:to="dei_Security12bTitle" xlink:title="label: Security12bTitle to dei_Security12bTitle" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="TradingSymbol" xlink:title="TradingSymbol" />
    <link:label xlink:type="resource" xlink:label="dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_TradingSymbol" xml:lang="en-US" id="dei_TradingSymbol">Trading Symbol</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TradingSymbol" xlink:to="dei_TradingSymbol" xlink:title="label: TradingSymbol to dei_TradingSymbol" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="SecurityExchangeName" xlink:title="SecurityExchangeName" />
    <link:label xlink:type="resource" xlink:label="dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_SecurityExchangeName" xml:lang="en-US" id="dei_SecurityExchangeName">Security Exchange Name</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SecurityExchangeName" xlink:to="dei_SecurityExchangeName" xlink:title="label: SecurityExchangeName to dei_SecurityExchangeName" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="EntityCommonStockSharesOutstanding" xlink:title="EntityCommonStockSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityCommonStockSharesOutstanding" xml:lang="en-US" id="dei_EntityCommonStockSharesOutstanding">Entity Common Stock, Shares Outstanding</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding" xlink:title="label: EntityCommonStockSharesOutstanding to dei_EntityCommonStockSharesOutstanding" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_JPMorganChaseBankNAMember" xlink:label="JPMorganChaseBankNAMember" xlink:title="JPMorganChaseBankNAMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_JPMorganChaseBankNAMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_JPMorganChaseBankNAMember_lbl" xml:lang="en-US" id="tlfa_JPMorganChaseBankNAMember_lbl">The name of lender will provide the line of credit facility under the credit agreement.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="JPMorganChaseBankNAMember" xlink:to="tlfa_JPMorganChaseBankNAMember_lbl" xlink:title="label: JPMorganChaseBankNAMember to tlfa_JPMorganChaseBankNAMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_JPMorganChaseBankNAMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_JPMorganChaseBankNAMember_lbl1" xml:lang="en-US" id="tlfa_JPMorganChaseBankNAMember_lbl1">JP Morgan Chase Bank, N.A. [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="JPMorganChaseBankNAMember" xlink:to="tlfa_JPMorganChaseBankNAMember_lbl1" xlink:title="label: JPMorganChaseBankNAMember to tlfa_JPMorganChaseBankNAMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_GiftCardRedemptionPeriod" xlink:label="GiftCardRedemptionPeriod" xlink:title="GiftCardRedemptionPeriod" />
    <link:label xlink:type="resource" xlink:label="tlfa_GiftCardRedemptionPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_GiftCardRedemptionPeriod_lbl" xml:lang="en-US" id="tlfa_GiftCardRedemptionPeriod_lbl">Expected customer gift card redemption period, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GiftCardRedemptionPeriod" xlink:to="tlfa_GiftCardRedemptionPeriod_lbl" xlink:title="label: GiftCardRedemptionPeriod to tlfa_GiftCardRedemptionPeriod_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_GiftCardRedemptionPeriod_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_GiftCardRedemptionPeriod_lbl1" xml:lang="en-US" id="tlfa_GiftCardRedemptionPeriod_lbl1">Gift Card Redemption Period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GiftCardRedemptionPeriod" xlink:to="tlfa_GiftCardRedemptionPeriod_lbl1" xlink:title="label: GiftCardRedemptionPeriod to tlfa_GiftCardRedemptionPeriod_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_GiftCardRedemptionPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_GiftCardRedemptionPeriod" xml:lang="en-US" id="tlfa_GiftCardRedemptionPeriod">Gift card redemption period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GiftCardRedemptionPeriod" xlink:to="tlfa_GiftCardRedemptionPeriod" xlink:title="label: GiftCardRedemptionPeriod to tlfa_GiftCardRedemptionPeriod" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_InventoryMerchandiseExpectedToBeReturned" xlink:label="InventoryMerchandiseExpectedToBeReturned" xlink:title="InventoryMerchandiseExpectedToBeReturned" />
    <link:label xlink:type="resource" xlink:label="tlfa_InventoryMerchandiseExpectedToBeReturned_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_InventoryMerchandiseExpectedToBeReturned_lbl" xml:lang="en-US" id="tlfa_InventoryMerchandiseExpectedToBeReturned_lbl">Gross amount of merchandise or supplies to which the entity expected returns as of balance sheet date.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryMerchandiseExpectedToBeReturned" xlink:to="tlfa_InventoryMerchandiseExpectedToBeReturned_lbl" xlink:title="label: InventoryMerchandiseExpectedToBeReturned to tlfa_InventoryMerchandiseExpectedToBeReturned_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_InventoryMerchandiseExpectedToBeReturned_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_InventoryMerchandiseExpectedToBeReturned_lbl1" xml:lang="en-US" id="tlfa_InventoryMerchandiseExpectedToBeReturned_lbl1">Inventory, Merchandise Expected to be Returned</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryMerchandiseExpectedToBeReturned" xlink:to="tlfa_InventoryMerchandiseExpectedToBeReturned_lbl1" xlink:title="label: InventoryMerchandiseExpectedToBeReturned to tlfa_InventoryMerchandiseExpectedToBeReturned_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_InventoryMerchandiseExpectedToBeReturned" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="tlfa_InventoryMerchandiseExpectedToBeReturned" xml:lang="en-US" id="tlfa_InventoryMerchandiseExpectedToBeReturned">Estimate of merchandise expected to be returned</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryMerchandiseExpectedToBeReturned" xlink:to="tlfa_InventoryMerchandiseExpectedToBeReturned" xlink:title="label: InventoryMerchandiseExpectedToBeReturned to tlfa_InventoryMerchandiseExpectedToBeReturned" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_AllOtherCountriesMember" xlink:label="AllOtherCountriesMember" xlink:title="AllOtherCountriesMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_AllOtherCountriesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_AllOtherCountriesMember_lbl" xml:lang="en-US" id="tlfa_AllOtherCountriesMember_lbl">All other countries excluding the United States and Canada.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllOtherCountriesMember" xlink:to="tlfa_AllOtherCountriesMember_lbl" xlink:title="label: AllOtherCountriesMember to tlfa_AllOtherCountriesMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_AllOtherCountriesMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_AllOtherCountriesMember_lbl1" xml:lang="en-US" id="tlfa_AllOtherCountriesMember_lbl1">All Other Countries [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllOtherCountriesMember" xlink:to="tlfa_AllOtherCountriesMember_lbl1" xlink:title="label: AllOtherCountriesMember to tlfa_AllOtherCountriesMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_OtherCountriesMember" xlink:label="OtherCountriesMember" xlink:title="OtherCountriesMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_OtherCountriesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_OtherCountriesMember_lbl" xml:lang="en-US" id="tlfa_OtherCountriesMember_lbl">All other countries excluding the United States and Canada.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherCountriesMember" xlink:to="tlfa_OtherCountriesMember_lbl" xlink:title="label: OtherCountriesMember to tlfa_OtherCountriesMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_OtherCountriesMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_OtherCountriesMember_lbl1" xml:lang="en-US" id="tlfa_OtherCountriesMember_lbl1">Other Countries [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherCountriesMember" xlink:to="tlfa_OtherCountriesMember_lbl1" xlink:title="label: OtherCountriesMember to tlfa_OtherCountriesMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_OtherCountriesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_OtherCountriesMember" xml:lang="en-US" id="tlfa_OtherCountriesMember">Other [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherCountriesMember" xlink:to="tlfa_OtherCountriesMember" xlink:title="label: OtherCountriesMember to tlfa_OtherCountriesMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_RevenueRecognitionDiscountsPolicyTextBlock" xlink:label="RevenueRecognitionDiscountsPolicyTextBlock" xlink:title="RevenueRecognitionDiscountsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="tlfa_RevenueRecognitionDiscountsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_RevenueRecognitionDiscountsPolicyTextBlock_lbl" xml:lang="en-US" id="tlfa_RevenueRecognitionDiscountsPolicyTextBlock_lbl">Disclosure of accounting policy for sales discounts.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRecognitionDiscountsPolicyTextBlock" xlink:to="tlfa_RevenueRecognitionDiscountsPolicyTextBlock_lbl" xlink:title="label: RevenueRecognitionDiscountsPolicyTextBlock to tlfa_RevenueRecognitionDiscountsPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_RevenueRecognitionDiscountsPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_RevenueRecognitionDiscountsPolicyTextBlock_lbl1" xml:lang="en-US" id="tlfa_RevenueRecognitionDiscountsPolicyTextBlock_lbl1">Revenue Recognition, Discounts [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRecognitionDiscountsPolicyTextBlock" xlink:to="tlfa_RevenueRecognitionDiscountsPolicyTextBlock_lbl1" xlink:title="label: RevenueRecognitionDiscountsPolicyTextBlock to tlfa_RevenueRecognitionDiscountsPolicyTextBlock_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_RevenueRecognitionDiscountsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_RevenueRecognitionDiscountsPolicyTextBlock" xml:lang="en-US" id="tlfa_RevenueRecognitionDiscountsPolicyTextBlock">Discounts</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRecognitionDiscountsPolicyTextBlock" xlink:to="tlfa_RevenueRecognitionDiscountsPolicyTextBlock" xlink:title="label: RevenueRecognitionDiscountsPolicyTextBlock to tlfa_RevenueRecognitionDiscountsPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_StockRepurchaseProgramAbstract" xlink:label="StockRepurchaseProgramAbstract" xlink:title="StockRepurchaseProgramAbstract" />
    <link:label xlink:type="resource" xlink:label="tlfa_StockRepurchaseProgramAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_StockRepurchaseProgramAbstract_lbl1" xml:lang="en-US" id="tlfa_StockRepurchaseProgramAbstract_lbl1">Stock Repurchase Program [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockRepurchaseProgramAbstract" xlink:to="tlfa_StockRepurchaseProgramAbstract_lbl1" xlink:title="label: StockRepurchaseProgramAbstract to tlfa_StockRepurchaseProgramAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_StockRepurchaseProgramAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_StockRepurchaseProgramAbstract" xml:lang="en-US" id="tlfa_StockRepurchaseProgramAbstract">Share Repurchase Program and Share Repurchases [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockRepurchaseProgramAbstract" xlink:to="tlfa_StockRepurchaseProgramAbstract" xlink:title="label: StockRepurchaseProgramAbstract to tlfa_StockRepurchaseProgramAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_AccountsReceivableAndExpectedCreditLossesAbstract" xlink:label="AccountsReceivableAndExpectedCreditLossesAbstract" xlink:title="AccountsReceivableAndExpectedCreditLossesAbstract" />
    <link:label xlink:type="resource" xlink:label="tlfa_AccountsReceivableAndExpectedCreditLossesAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_AccountsReceivableAndExpectedCreditLossesAbstract_lbl1" xml:lang="en-US" id="tlfa_AccountsReceivableAndExpectedCreditLossesAbstract_lbl1">Accounts Receivable And Expected Credit Losses [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsReceivableAndExpectedCreditLossesAbstract" xlink:to="tlfa_AccountsReceivableAndExpectedCreditLossesAbstract_lbl1" xlink:title="label: AccountsReceivableAndExpectedCreditLossesAbstract to tlfa_AccountsReceivableAndExpectedCreditLossesAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_AccountsReceivableAndExpectedCreditLossesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_AccountsReceivableAndExpectedCreditLossesAbstract" xml:lang="en-US" id="tlfa_AccountsReceivableAndExpectedCreditLossesAbstract">Accounts Receivable and Expected Credit Losses [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsReceivableAndExpectedCreditLossesAbstract" xlink:to="tlfa_AccountsReceivableAndExpectedCreditLossesAbstract" xlink:title="label: AccountsReceivableAndExpectedCreditLossesAbstract to tlfa_AccountsReceivableAndExpectedCreditLossesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock" xlink:label="ShareRepurchaseProgramAndShareRepurchasesTextBlock" xlink:title="ShareRepurchaseProgramAndShareRepurchasesTextBlock" />
    <link:label xlink:type="resource" xlink:label="tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock_lbl" xml:lang="en-US" id="tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock_lbl">The entire disclosure for the share repurchase program and share repurchases.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareRepurchaseProgramAndShareRepurchasesTextBlock" xlink:to="tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock_lbl" xlink:title="label: ShareRepurchaseProgramAndShareRepurchasesTextBlock to tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock_lbl1" xml:lang="en-US" id="tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock_lbl1">Share Repurchase Program and Share Repurchases [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareRepurchaseProgramAndShareRepurchasesTextBlock" xlink:to="tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock_lbl1" xlink:title="label: ShareRepurchaseProgramAndShareRepurchasesTextBlock to tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock" xml:lang="en-US" id="tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock">SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareRepurchaseProgramAndShareRepurchasesTextBlock" xlink:to="tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock" xlink:title="label: ShareRepurchaseProgramAndShareRepurchasesTextBlock to tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract" xlink:label="SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract" xlink:title="SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract" />
    <link:label xlink:type="resource" xlink:label="tlfa_SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract_lbl1" xml:lang="en-US" id="tlfa_SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract_lbl1">SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract" xlink:to="tlfa_SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract_lbl1" xlink:title="label: SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract to tlfa_SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_NumberOfClassesOfCustomerDiscounts" xlink:label="NumberOfClassesOfCustomerDiscounts" xlink:title="NumberOfClassesOfCustomerDiscounts" />
    <link:label xlink:type="resource" xlink:label="tlfa_NumberOfClassesOfCustomerDiscounts_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_NumberOfClassesOfCustomerDiscounts_lbl" xml:lang="en-US" id="tlfa_NumberOfClassesOfCustomerDiscounts_lbl">Number of classes of customer discounts.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfClassesOfCustomerDiscounts" xlink:to="tlfa_NumberOfClassesOfCustomerDiscounts_lbl" xlink:title="label: NumberOfClassesOfCustomerDiscounts to tlfa_NumberOfClassesOfCustomerDiscounts_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_NumberOfClassesOfCustomerDiscounts_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_NumberOfClassesOfCustomerDiscounts_lbl1" xml:lang="en-US" id="tlfa_NumberOfClassesOfCustomerDiscounts_lbl1">Number of Classes of Customer Discounts</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfClassesOfCustomerDiscounts" xlink:to="tlfa_NumberOfClassesOfCustomerDiscounts_lbl1" xlink:title="label: NumberOfClassesOfCustomerDiscounts to tlfa_NumberOfClassesOfCustomerDiscounts_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_NumberOfClassesOfCustomerDiscounts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_NumberOfClassesOfCustomerDiscounts" xml:lang="en-US" id="tlfa_NumberOfClassesOfCustomerDiscounts">Number of classes of customer discounts</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfClassesOfCustomerDiscounts" xlink:to="tlfa_NumberOfClassesOfCustomerDiscounts" xlink:title="label: NumberOfClassesOfCustomerDiscounts to tlfa_NumberOfClassesOfCustomerDiscounts" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_DiscountsAbstract" xlink:label="DiscountsAbstract" xlink:title="DiscountsAbstract" />
    <link:label xlink:type="resource" xlink:label="tlfa_DiscountsAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_DiscountsAbstract_lbl1" xml:lang="en-US" id="tlfa_DiscountsAbstract_lbl1">Discounts [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DiscountsAbstract" xlink:to="tlfa_DiscountsAbstract_lbl1" xlink:title="label: DiscountsAbstract to tlfa_DiscountsAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_DiscountsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_DiscountsAbstract" xml:lang="en-US" id="tlfa_DiscountsAbstract">Discounts [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DiscountsAbstract" xlink:to="tlfa_DiscountsAbstract" xlink:title="label: DiscountsAbstract to tlfa_DiscountsAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_FairValueOfFinancialInstrumentsAbstract" xlink:label="FairValueOfFinancialInstrumentsAbstract" xlink:title="FairValueOfFinancialInstrumentsAbstract" />
    <link:label xlink:type="resource" xlink:label="tlfa_FairValueOfFinancialInstrumentsAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_FairValueOfFinancialInstrumentsAbstract_lbl1" xml:lang="en-US" id="tlfa_FairValueOfFinancialInstrumentsAbstract_lbl1">Fair Value of Financial Instruments [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FairValueOfFinancialInstrumentsAbstract" xlink:to="tlfa_FairValueOfFinancialInstrumentsAbstract_lbl1" xlink:title="label: FairValueOfFinancialInstrumentsAbstract to tlfa_FairValueOfFinancialInstrumentsAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_FairValueOfFinancialInstrumentsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_FairValueOfFinancialInstrumentsAbstract" xml:lang="en-US" id="tlfa_FairValueOfFinancialInstrumentsAbstract">Fair Value of Financial Instruments [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FairValueOfFinancialInstrumentsAbstract" xlink:to="tlfa_FairValueOfFinancialInstrumentsAbstract" xlink:title="label: FairValueOfFinancialInstrumentsAbstract to tlfa_FairValueOfFinancialInstrumentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_BusinessDescriptionAbstract" xlink:label="BusinessDescriptionAbstract" xlink:title="BusinessDescriptionAbstract" />
    <link:label xlink:type="resource" xlink:label="tlfa_BusinessDescriptionAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_BusinessDescriptionAbstract_lbl1" xml:lang="en-US" id="tlfa_BusinessDescriptionAbstract_lbl1">Business Description [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BusinessDescriptionAbstract" xlink:to="tlfa_BusinessDescriptionAbstract_lbl1" xlink:title="label: BusinessDescriptionAbstract to tlfa_BusinessDescriptionAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_BusinessDescriptionAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_BusinessDescriptionAbstract" xml:lang="en-US" id="tlfa_BusinessDescriptionAbstract">Description of Business [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BusinessDescriptionAbstract" xlink:to="tlfa_BusinessDescriptionAbstract" xlink:title="label: BusinessDescriptionAbstract to tlfa_BusinessDescriptionAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:label="TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:title="TwoThousandAndTwentyThreeRestrictedStockPlanMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember_lbl" xml:lang="en-US" id="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember_lbl">Refers to 2023 Restricted stock plan.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:to="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember_lbl" xlink:title="label: TwoThousandAndTwentyThreeRestrictedStockPlanMember to tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember_lbl1" xml:lang="en-US" id="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember_lbl1">Two Thousand and Twenty Three Restricted Stock Plan [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:to="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember_lbl1" xlink:title="label: TwoThousandAndTwentyThreeRestrictedStockPlanMember to tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember" xml:lang="en-US" id="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember">2023 Restricted Stock Plan [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:to="tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:title="label: TwoThousandAndTwentyThreeRestrictedStockPlanMember to tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_TwoThousandAndThirteenRestrictedStockPlanMember" xlink:label="TwoThousandAndThirteenRestrictedStockPlanMember" xlink:title="TwoThousandAndThirteenRestrictedStockPlanMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember_lbl" xml:lang="en-US" id="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember_lbl">Refers to 2013 Restricted stock plan.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TwoThousandAndThirteenRestrictedStockPlanMember" xlink:to="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember_lbl" xlink:title="label: TwoThousandAndThirteenRestrictedStockPlanMember to tlfa_TwoThousandAndThirteenRestrictedStockPlanMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember_lbl1" xml:lang="en-US" id="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember_lbl1">Two Thousand and Thirteen Restricted Stock Plan [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TwoThousandAndThirteenRestrictedStockPlanMember" xlink:to="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember_lbl1" xlink:title="label: TwoThousandAndThirteenRestrictedStockPlanMember to tlfa_TwoThousandAndThirteenRestrictedStockPlanMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember" xml:lang="en-US" id="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember">2013 Restricted Stock Plan [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TwoThousandAndThirteenRestrictedStockPlanMember" xlink:to="tlfa_TwoThousandAndThirteenRestrictedStockPlanMember" xlink:title="label: TwoThousandAndThirteenRestrictedStockPlanMember to tlfa_TwoThousandAndThirteenRestrictedStockPlanMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_NonEmployeeDirectorMember" xlink:label="NonEmployeeDirectorMember" xlink:title="NonEmployeeDirectorMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_NonEmployeeDirectorMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_NonEmployeeDirectorMember_lbl" xml:lang="en-US" id="tlfa_NonEmployeeDirectorMember_lbl">Person with designation of non-employee director.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonEmployeeDirectorMember" xlink:to="tlfa_NonEmployeeDirectorMember_lbl" xlink:title="label: NonEmployeeDirectorMember to tlfa_NonEmployeeDirectorMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_NonEmployeeDirectorMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_NonEmployeeDirectorMember_lbl1" xml:lang="en-US" id="tlfa_NonEmployeeDirectorMember_lbl1">Non-Employee Director [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonEmployeeDirectorMember" xlink:to="tlfa_NonEmployeeDirectorMember_lbl1" xlink:title="label: NonEmployeeDirectorMember to tlfa_NonEmployeeDirectorMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_NonEmployeeDirectorMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_NonEmployeeDirectorMember" xml:lang="en-US" id="tlfa_NonEmployeeDirectorMember">Non-Employee Directors [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonEmployeeDirectorMember" xlink:to="tlfa_NonEmployeeDirectorMember" xlink:title="label: NonEmployeeDirectorMember to tlfa_NonEmployeeDirectorMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_RestrictedStockAndRestrictedStockUnitsMember" xlink:label="RestrictedStockAndRestrictedStockUnitsMember" xlink:title="RestrictedStockAndRestrictedStockUnitsMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_RestrictedStockAndRestrictedStockUnitsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_RestrictedStockAndRestrictedStockUnitsMember_lbl" xml:lang="en-US" id="tlfa_RestrictedStockAndRestrictedStockUnitsMember_lbl">Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met and Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RestrictedStockAndRestrictedStockUnitsMember" xlink:to="tlfa_RestrictedStockAndRestrictedStockUnitsMember_lbl" xlink:title="label: RestrictedStockAndRestrictedStockUnitsMember to tlfa_RestrictedStockAndRestrictedStockUnitsMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_RestrictedStockAndRestrictedStockUnitsMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_RestrictedStockAndRestrictedStockUnitsMember_lbl1" xml:lang="en-US" id="tlfa_RestrictedStockAndRestrictedStockUnitsMember_lbl1">Restricted Stock and Restricted Stock Units [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RestrictedStockAndRestrictedStockUnitsMember" xlink:to="tlfa_RestrictedStockAndRestrictedStockUnitsMember_lbl1" xlink:title="label: RestrictedStockAndRestrictedStockUnitsMember to tlfa_RestrictedStockAndRestrictedStockUnitsMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_RestrictedStockAndRestrictedStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_RestrictedStockAndRestrictedStockUnitsMember" xml:lang="en-US" id="tlfa_RestrictedStockAndRestrictedStockUnitsMember">Restricted Stock and RSU [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RestrictedStockAndRestrictedStockUnitsMember" xlink:to="tlfa_RestrictedStockAndRestrictedStockUnitsMember" xlink:title="label: RestrictedStockAndRestrictedStockUnitsMember to tlfa_RestrictedStockAndRestrictedStockUnitsMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears_lbl" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears_lbl">Unrecognized cost of unvested share-based compensation awards in excess of one year due in the third fiscal year following the latest fiscal year.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears_lbl" xlink:title="label: EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears to tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears_lbl1" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears_lbl1">Employee Service Share-based Compensation Non-vested Awards Compensation Cost Not Yet Recognized Due In Three Years</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears_lbl1" xlink:title="label: EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears to tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears">2027</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:title="label: EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears to tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear_lbl" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear_lbl">Unrecognized cost of unvested share-based compensation awards due during the remainder of the fiscal year.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear_lbl" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear to tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear_lbl1" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear_lbl1">Employee Service Share-based Compensation Nonvested Awards Compensation Cost Not Yet Recognized Remainder of Fiscal Year</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear_lbl1" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear to tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear">2024</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear to tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths_lbl" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths_lbl">Unrecognized cost of unvested share-based compensation awards in excess of one year due in the next fiscal year following the latest fiscal year.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths_lbl" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths to tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths_lbl1" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths_lbl1">Employee Service Share-based Compensation Nonvested Awards Compensation Cost Not Yet Recognized Due In Next Twelve Months</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths_lbl1" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths to tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths">2025</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths to tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears_lbl" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears_lbl">Unrecognized cost of unvested share-based compensation awards due in excess of one year due in the second fiscal year following the latest fiscal year.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears_lbl" xlink:title="label: EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears to tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears_lbl1" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears_lbl1">Employee Service Share-based Compensation Non-vested Awards Compensation Cost Not Yet Recognized Due In Two Years</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears_lbl1" xlink:title="label: EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears to tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears">2026</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:title="label: EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears to tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears_lbl" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears_lbl">Unrecognized cost of unvested share-based compensation awards in excess of one year due in the fourth fiscal year following the latest fiscal year.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears_lbl" xlink:title="label: EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears to tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears_lbl1" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears_lbl1">Employee Service Share-based Compensation Non-vested Awards Compensation Cost Not Yet Recognized Due In Four Years</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears_lbl1" xlink:title="label: EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears to tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xml:lang="en-US" id="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears">2028</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:to="tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:title="label: EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears to tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:label="PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:title="PerformanceBasedRestrictedStockUnitsRSUsMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember_lbl" xml:lang="en-US" id="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember_lbl">Share instrument which is convertible to stock or an equivalent amount of cash, when specified performance conditions are met.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:to="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember_lbl" xlink:title="label: PerformanceBasedRestrictedStockUnitsRSUsMember to tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember_lbl1" xml:lang="en-US" id="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember_lbl1">Performance Based Restricted Stock Units (RSUs) [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:to="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember_lbl1" xlink:title="label: PerformanceBasedRestrictedStockUnitsRSUsMember to tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember" xml:lang="en-US" id="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember">Performance-Based Restricted Stock Units [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:to="tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:title="label: PerformanceBasedRestrictedStockUnitsRSUsMember to tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_ServicedBasedRestrictedStockUnitsRSUsMember" xlink:label="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:title="ServicedBasedRestrictedStockUnitsRSUsMember" />
    <link:label xlink:type="resource" xlink:label="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember_lbl" xml:lang="en-US" id="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember_lbl">Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:to="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember_lbl" xlink:title="label: ServicedBasedRestrictedStockUnitsRSUsMember to tlfa_ServicedBasedRestrictedStockUnitsRSUsMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember_lbl1" xml:lang="en-US" id="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember_lbl1">Serviced Based Restricted Stock Units (RSUs) [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:to="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember_lbl1" xlink:title="label: ServicedBasedRestrictedStockUnitsRSUsMember to tlfa_ServicedBasedRestrictedStockUnitsRSUsMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember" xml:lang="en-US" id="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember">Service-Based Restricted Stock Units [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:to="tlfa_ServicedBasedRestrictedStockUnitsRSUsMember" xlink:title="label: ServicedBasedRestrictedStockUnitsRSUsMember to tlfa_ServicedBasedRestrictedStockUnitsRSUsMember" />
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>8
<FILENAME>tlfa-20240630_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by Broadridge PROfile 24.6.2.5244 Broadridge-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" />
  <link:roleRef roleURI="http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchasesDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#ShareRepurchaseProgramAndShareRepurchasesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/EarningsPerShareDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#EarningsPerShareDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#StockbasedCompensation2013And2023RestrictedStockPlansDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTaxDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#IncomeTaxDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#NotesPayableAndLongtermDebtDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesInventoryDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesInventoryDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesDiscountsDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesDiscountsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails" />
  <link:roleRef roleURI="http://tandyleather.com/role/EarningsPerShareTables" xlink:type="simple" xlink:href="tlfa-20240630.xsd#EarningsPerShareTables" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockbasedCompensationTables" xlink:type="simple" xlink:href="tlfa-20240630.xsd#StockbasedCompensationTables" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesTables" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesTables" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies" />
  <link:roleRef roleURI="http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchases" xlink:type="simple" xlink:href="tlfa-20240630.xsd#ShareRepurchaseProgramAndShareRepurchases" />
  <link:roleRef roleURI="http://tandyleather.com/role/CommitmentsAndContingencies" xlink:type="simple" xlink:href="tlfa-20240630.xsd#CommitmentsAndContingencies" />
  <link:roleRef roleURI="http://tandyleather.com/role/EarningsPerShare" xlink:type="simple" xlink:href="tlfa-20240630.xsd#EarningsPerShare" />
  <link:roleRef roleURI="http://tandyleather.com/role/StockbasedCompensation" xlink:type="simple" xlink:href="tlfa-20240630.xsd#StockbasedCompensation" />
  <link:roleRef roleURI="http://tandyleather.com/role/IncomeTax" xlink:type="simple" xlink:href="tlfa-20240630.xsd#IncomeTax" />
  <link:roleRef roleURI="http://tandyleather.com/role/NotesPayableAndLongtermDebt" xlink:type="simple" xlink:href="tlfa-20240630.xsd#NotesPayableAndLongtermDebt" />
  <link:roleRef roleURI="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPolicies" xlink:type="simple" xlink:href="tlfa-20240630.xsd#BasisOfPresentationAndCertainSignificantAccountingPolicies" />
  <link:roleRef roleURI="http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity" xlink:type="simple" xlink:href="tlfa-20240630.xsd#CondensedConsolidatedStatementsOfStockholdersEquity" />
  <link:roleRef roleURI="http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="tlfa-20240630.xsd#CondensedConsolidatedStatementsOfCashFlows" />
  <link:roleRef roleURI="http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" xlink:type="simple" xlink:href="tlfa-20240630.xsd#CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" />
  <link:roleRef roleURI="http://tandyleather.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="tlfa-20240630.xsd#CondensedConsolidatedBalanceSheetsParenthetical" />
  <link:roleRef roleURI="http://tandyleather.com/role/CondensedConsolidatedBalanceSheets" xlink:type="simple" xlink:href="tlfa-20240630.xsd#CondensedConsolidatedBalanceSheets" />
  <link:roleRef roleURI="http://tandyleather.com/role/DocumentAndEntityInformation" xlink:type="simple" xlink:href="tlfa-20240630.xsd#DocumentAndEntityInformation" />
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/DocumentAndEntityInformation">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="CoverAbstract" xlink:title="CoverAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="DocumentType" xlink:title="DocumentType" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentType" xlink:title="presentation: CoverAbstract to DocumentType" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="AmendmentFlag" xlink:title="AmendmentFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="AmendmentFlag" xlink:title="presentation: CoverAbstract to AmendmentFlag" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentQuarterlyReport" xlink:label="DocumentQuarterlyReport" xlink:title="DocumentQuarterlyReport" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentQuarterlyReport" xlink:title="presentation: CoverAbstract to DocumentQuarterlyReport" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="DocumentPeriodEndDate" xlink:title="DocumentPeriodEndDate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentPeriodEndDate" xlink:title="presentation: CoverAbstract to DocumentPeriodEndDate" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="CurrentFiscalYearEndDate" xlink:title="CurrentFiscalYearEndDate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="CurrentFiscalYearEndDate" xlink:title="presentation: CoverAbstract to CurrentFiscalYearEndDate" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="DocumentFiscalYearFocus" xlink:title="DocumentFiscalYearFocus" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentFiscalYearFocus" xlink:title="presentation: CoverAbstract to DocumentFiscalYearFocus" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="DocumentFiscalPeriodFocus" xlink:title="DocumentFiscalPeriodFocus" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentFiscalPeriodFocus" xlink:title="presentation: CoverAbstract to DocumentFiscalPeriodFocus" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="DocumentTransitionReport" xlink:title="DocumentTransitionReport" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentTransitionReport" xlink:title="presentation: CoverAbstract to DocumentTransitionReport" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="EntityFileNumber" xlink:title="EntityFileNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityFileNumber" xlink:title="presentation: CoverAbstract to EntityFileNumber" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="EntityRegistrantName" xlink:title="EntityRegistrantName" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityRegistrantName" xlink:title="presentation: CoverAbstract to EntityRegistrantName" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="EntityCentralIndexKey" xlink:title="EntityCentralIndexKey" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityCentralIndexKey" xlink:title="presentation: CoverAbstract to EntityCentralIndexKey" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="EntityIncorporationStateCountryCode" xlink:title="EntityIncorporationStateCountryCode" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityIncorporationStateCountryCode" xlink:title="presentation: CoverAbstract to EntityIncorporationStateCountryCode" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="EntityTaxIdentificationNumber" xlink:title="EntityTaxIdentificationNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityTaxIdentificationNumber" xlink:title="presentation: CoverAbstract to EntityTaxIdentificationNumber" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="EntityAddressAddressLine1" xlink:title="EntityAddressAddressLine1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressAddressLine1" xlink:title="presentation: CoverAbstract to EntityAddressAddressLine1" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="EntityAddressCityOrTown" xlink:title="EntityAddressCityOrTown" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressCityOrTown" xlink:title="presentation: CoverAbstract to EntityAddressCityOrTown" order="14.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="EntityAddressStateOrProvince" xlink:title="EntityAddressStateOrProvince" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressStateOrProvince" xlink:title="presentation: CoverAbstract to EntityAddressStateOrProvince" order="15.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="EntityAddressPostalZipCode" xlink:title="EntityAddressPostalZipCode" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressPostalZipCode" xlink:title="presentation: CoverAbstract to EntityAddressPostalZipCode" order="16.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="CityAreaCode" xlink:title="CityAreaCode" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="CityAreaCode" xlink:title="presentation: CoverAbstract to CityAreaCode" order="17.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="LocalPhoneNumber" xlink:title="LocalPhoneNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="LocalPhoneNumber" xlink:title="presentation: CoverAbstract to LocalPhoneNumber" order="18.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="Security12bTitle" xlink:title="Security12bTitle" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="Security12bTitle" xlink:title="presentation: CoverAbstract to Security12bTitle" order="19.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="TradingSymbol" xlink:title="TradingSymbol" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="TradingSymbol" xlink:title="presentation: CoverAbstract to TradingSymbol" order="20.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="SecurityExchangeName" xlink:title="SecurityExchangeName" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="SecurityExchangeName" xlink:title="presentation: CoverAbstract to SecurityExchangeName" order="21.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="EntityCurrentReportingStatus" xlink:title="EntityCurrentReportingStatus" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityCurrentReportingStatus" xlink:title="presentation: CoverAbstract to EntityCurrentReportingStatus" order="22.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="EntityInteractiveDataCurrent" xlink:title="EntityInteractiveDataCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityInteractiveDataCurrent" xlink:title="presentation: CoverAbstract to EntityInteractiveDataCurrent" order="23.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="EntityFilerCategory" xlink:title="EntityFilerCategory" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityFilerCategory" xlink:title="presentation: CoverAbstract to EntityFilerCategory" order="24.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="EntitySmallBusiness" xlink:title="EntitySmallBusiness" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntitySmallBusiness" xlink:title="presentation: CoverAbstract to EntitySmallBusiness" order="25.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="EntityEmergingGrowthCompany" xlink:title="EntityEmergingGrowthCompany" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityEmergingGrowthCompany" xlink:title="presentation: CoverAbstract to EntityEmergingGrowthCompany" order="26.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="EntityShellCompany" xlink:title="EntityShellCompany" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityShellCompany" xlink:title="presentation: CoverAbstract to EntityShellCompany" order="27.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="EntityCommonStockSharesOutstanding" xlink:title="EntityCommonStockSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityCommonStockSharesOutstanding" xlink:title="presentation: CoverAbstract to EntityCommonStockSharesOutstanding" order="28.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/CondensedConsolidatedBalanceSheets">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="StatementOfFinancialPositionAbstract" xlink:title="StatementOfFinancialPositionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="AssetsAbstract" xlink:title="AssetsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="AssetsCurrentAbstract" xlink:title="AssetsCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="CashAndCashEquivalentsAtCarryingValue" xlink:title="CashAndCashEquivalentsAtCarryingValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="CashAndCashEquivalentsAtCarryingValue" xlink:title="presentation: AssetsCurrentAbstract to CashAndCashEquivalentsAtCarryingValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="AccountsReceivableNetCurrent" xlink:title="presentation: AssetsCurrentAbstract to AccountsReceivableNetCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="InventoryNet" xlink:title="presentation: AssetsCurrentAbstract to InventoryNet" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="IncomeTaxesReceivable" xlink:title="IncomeTaxesReceivable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="IncomeTaxesReceivable" xlink:title="presentation: AssetsCurrentAbstract to IncomeTaxesReceivable" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="PrepaidExpenseCurrent" xlink:title="PrepaidExpenseCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="PrepaidExpenseCurrent" xlink:title="presentation: AssetsCurrentAbstract to PrepaidExpenseCurrent" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsCurrent" xlink:label="OtherAssetsCurrent" xlink:title="OtherAssetsCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="OtherAssetsCurrent" xlink:title="presentation: AssetsCurrentAbstract to OtherAssetsCurrent" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="AssetsCurrent" xlink:title="AssetsCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="AssetsCurrent" xlink:title="presentation: AssetsCurrentAbstract to AssetsCurrent" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="AssetsCurrentAbstract" xlink:title="presentation: AssetsAbstract to AssetsCurrentAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="PropertyPlantAndEquipmentGross" xlink:title="PropertyPlantAndEquipmentGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="PropertyPlantAndEquipmentGross" xlink:title="presentation: AssetsAbstract to PropertyPlantAndEquipmentGross" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="presentation: AssetsAbstract to AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="presentation: AssetsAbstract to PropertyPlantAndEquipmentNet" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="OperatingLeaseRightOfUseAsset" xlink:title="presentation: AssetsAbstract to OperatingLeaseRightOfUseAsset" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="FinanceLeaseRightOfUseAsset" xlink:title="FinanceLeaseRightOfUseAsset" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="FinanceLeaseRightOfUseAsset" xlink:title="presentation: AssetsAbstract to FinanceLeaseRightOfUseAsset" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="DeferredIncomeTaxAssetsNet" xlink:title="DeferredIncomeTaxAssetsNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="DeferredIncomeTaxAssetsNet" xlink:title="presentation: AssetsAbstract to DeferredIncomeTaxAssetsNet" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="OtherAssetsNoncurrent" xlink:title="OtherAssetsNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="OtherAssetsNoncurrent" xlink:title="presentation: AssetsAbstract to OtherAssetsNoncurrent" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="Assets" xlink:title="Assets" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="Assets" xlink:title="presentation: AssetsAbstract to Assets" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="AssetsAbstract" xlink:title="presentation: StatementOfFinancialPositionAbstract to AssetsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="LiabilitiesAndStockholdersEquityAbstract" xlink:title="LiabilitiesAndStockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="LiabilitiesCurrentAbstract" xlink:title="LiabilitiesCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableTradeCurrent" xlink:label="AccountsPayableTradeCurrent" xlink:title="AccountsPayableTradeCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="AccountsPayableTradeCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to AccountsPayableTradeCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:label="AccruedLiabilitiesAndOtherLiabilities" xlink:title="AccruedLiabilitiesAndOtherLiabilities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="AccruedLiabilitiesAndOtherLiabilities" xlink:title="presentation: LiabilitiesCurrentAbstract to AccruedLiabilitiesAndOtherLiabilities" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="TaxesPayableCurrent" xlink:title="TaxesPayableCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="TaxesPayableCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to TaxesPayableCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="OperatingLeaseLiabilityCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to OperatingLeaseLiabilityCurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="LiabilitiesCurrent" xlink:title="LiabilitiesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="LiabilitiesCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to LiabilitiesCurrent" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="LiabilitiesCurrentAbstract" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to LiabilitiesCurrentAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="DeferredIncomeTaxLiabilitiesNet" xlink:title="DeferredIncomeTaxLiabilitiesNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="DeferredIncomeTaxLiabilitiesNet" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to DeferredIncomeTaxLiabilitiesNet" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="LiabilityForUncertainTaxPositionsNoncurrent" xlink:title="LiabilityForUncertainTaxPositionsNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="LiabilityForUncertainTaxPositionsNoncurrent" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to LiabilityForUncertainTaxPositionsNoncurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="OtherLiabilitiesNoncurrent" xlink:title="OtherLiabilitiesNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="OtherLiabilitiesNoncurrent" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to OtherLiabilitiesNoncurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="OperatingLeaseLiabilityNoncurrent" xlink:title="OperatingLeaseLiabilityNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="OperatingLeaseLiabilityNoncurrent" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to OperatingLeaseLiabilityNoncurrent" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="FinanceLeaseLiabilityNoncurrent" xlink:title="FinanceLeaseLiabilityNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="FinanceLeaseLiabilityNoncurrent" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to FinanceLeaseLiabilityNoncurrent" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="CommitmentsAndContingencies" xlink:title="CommitmentsAndContingencies" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="CommitmentsAndContingencies" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to CommitmentsAndContingencies" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="StockholdersEquityAbstract" xlink:title="StockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="CommonStockValue" xlink:title="CommonStockValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockValue" xlink:title="presentation: StockholdersEquityAbstract to CommonStockValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="AdditionalPaidInCapital" xlink:title="AdditionalPaidInCapital" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="AdditionalPaidInCapital" xlink:title="presentation: StockholdersEquityAbstract to AdditionalPaidInCapital" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="RetainedEarningsAccumulatedDeficit" xlink:title="RetainedEarningsAccumulatedDeficit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="RetainedEarningsAccumulatedDeficit" xlink:title="presentation: StockholdersEquityAbstract to RetainedEarningsAccumulatedDeficit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="TreasuryStockCommonValue" xlink:title="TreasuryStockCommonValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="TreasuryStockCommonValue" xlink:title="presentation: StockholdersEquityAbstract to TreasuryStockCommonValue" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="presentation: StockholdersEquityAbstract to AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="StockholdersEquity" xlink:title="presentation: StockholdersEquityAbstract to StockholdersEquity" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="StockholdersEquityAbstract" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to StockholdersEquityAbstract" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" xlink:title="LiabilitiesAndStockholdersEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="LiabilitiesAndStockholdersEquity" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to LiabilitiesAndStockholdersEquity" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="LiabilitiesAndStockholdersEquityAbstract" xlink:title="presentation: StatementOfFinancialPositionAbstract to LiabilitiesAndStockholdersEquityAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/CondensedConsolidatedBalanceSheetsParenthetical">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="StatementOfFinancialPositionAbstract" xlink:title="StatementOfFinancialPositionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="AssetsAbstract" xlink:title="AssetsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="AssetsCurrentAbstract" xlink:title="AssetsCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="presentation: AssetsCurrentAbstract to AllowanceForDoubtfulAccountsReceivableCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="AssetsCurrentAbstract" xlink:title="presentation: AssetsAbstract to AssetsCurrentAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="AssetsAbstract" xlink:title="presentation: StatementOfFinancialPositionAbstract to AssetsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="LiabilitiesAndStockholdersEquityAbstract" xlink:title="LiabilitiesAndStockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="StockholdersEquityAbstract" xlink:title="StockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="CommonStockParOrStatedValuePerShare" xlink:title="CommonStockParOrStatedValuePerShare" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockParOrStatedValuePerShare" xlink:title="presentation: StockholdersEquityAbstract to CommonStockParOrStatedValuePerShare" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="CommonStockSharesAuthorized" xlink:title="CommonStockSharesAuthorized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockSharesAuthorized" xlink:title="presentation: StockholdersEquityAbstract to CommonStockSharesAuthorized" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="CommonStockSharesIssued" xlink:title="CommonStockSharesIssued" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockSharesIssued" xlink:title="presentation: StockholdersEquityAbstract to CommonStockSharesIssued" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="CommonStockSharesOutstanding" xlink:title="CommonStockSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockSharesOutstanding" xlink:title="presentation: StockholdersEquityAbstract to CommonStockSharesOutstanding" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="TreasuryStockCommonShares" xlink:title="TreasuryStockCommonShares" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="TreasuryStockCommonShares" xlink:title="presentation: StockholdersEquityAbstract to TreasuryStockCommonShares" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="StockholdersEquityAbstract" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to StockholdersEquityAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="LiabilitiesAndStockholdersEquityAbstract" xlink:title="presentation: StatementOfFinancialPositionAbstract to LiabilitiesAndStockholdersEquityAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="IncomeStatementAbstract" xlink:title="IncomeStatementAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="presentation: IncomeStatementAbstract to RevenueFromContractWithCustomerExcludingAssessedTax" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="CostOfGoodsAndServicesSold" xlink:title="CostOfGoodsAndServicesSold" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="CostOfGoodsAndServicesSold" xlink:title="presentation: IncomeStatementAbstract to CostOfGoodsAndServicesSold" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="GrossProfit" xlink:title="GrossProfit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="GrossProfit" xlink:title="presentation: IncomeStatementAbstract to GrossProfit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingCostsAndExpenses" xlink:label="OperatingCostsAndExpenses" xlink:title="OperatingCostsAndExpenses" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="OperatingCostsAndExpenses" xlink:title="presentation: IncomeStatementAbstract to OperatingCostsAndExpenses" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="OperatingIncomeLoss" xlink:title="OperatingIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="OperatingIncomeLoss" xlink:title="presentation: IncomeStatementAbstract to OperatingIncomeLoss" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLossAbstract" xlink:label="OperatingIncomeLossAbstract" xlink:title="OperatingIncomeLossAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeExpenseNet" xlink:label="InterestIncomeExpenseNet" xlink:title="InterestIncomeExpenseNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingIncomeLossAbstract" xlink:to="InterestIncomeExpenseNet" xlink:title="presentation: OperatingIncomeLossAbstract to InterestIncomeExpenseNet" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="OtherNonoperatingIncomeExpense" xlink:title="OtherNonoperatingIncomeExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingIncomeLossAbstract" xlink:to="OtherNonoperatingIncomeExpense" xlink:title="presentation: OperatingIncomeLossAbstract to OtherNonoperatingIncomeExpense" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="NonoperatingIncomeExpense" xlink:title="NonoperatingIncomeExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingIncomeLossAbstract" xlink:to="NonoperatingIncomeExpense" xlink:title="presentation: OperatingIncomeLossAbstract to NonoperatingIncomeExpense" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="OperatingIncomeLossAbstract" xlink:title="presentation: IncomeStatementAbstract to OperatingIncomeLossAbstract" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="presentation: IncomeStatementAbstract to IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="IncomeTaxExpenseBenefit" xlink:title="presentation: IncomeStatementAbstract to IncomeTaxExpenseBenefit" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="NetIncomeLoss" xlink:title="presentation: IncomeStatementAbstract to NetIncomeLoss" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="presentation: IncomeStatementAbstract to OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:title="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:title="presentation: IncomeStatementAbstract to ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" xlink:title="EarningsPerShareAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="EarningsPerShareBasic" xlink:title="EarningsPerShareBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="EarningsPerShareBasic" xlink:title="presentation: EarningsPerShareAbstract to EarningsPerShareBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="EarningsPerShareDiluted" xlink:title="EarningsPerShareDiluted" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="EarningsPerShareDiluted" xlink:title="presentation: EarningsPerShareAbstract to EarningsPerShareDiluted" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="EarningsPerShareAbstract" xlink:title="presentation: IncomeStatementAbstract to EarningsPerShareAbstract" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:title="WeightedAverageNumberOfSharesOutstandingAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingAbstract to WeightedAverageNumberOfSharesOutstandingBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingAbstract to WeightedAverageNumberOfDilutedSharesOutstanding" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:title="presentation: IncomeStatementAbstract to WeightedAverageNumberOfSharesOutstandingAbstract" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="StatementOfCashFlowsAbstract" xlink:title="StatementOfCashFlowsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="NetIncomeLoss" xlink:title="presentation: NetCashProvidedByUsedInOperatingActivitiesAbstract to NetIncomeLoss" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSoldDepreciation" xlink:label="CostOfGoodsAndServicesSoldDepreciation" xlink:title="CostOfGoodsAndServicesSoldDepreciation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="CostOfGoodsAndServicesSoldDepreciation" xlink:title="presentation: AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to CostOfGoodsAndServicesSoldDepreciation" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:title="OperatingLeaseRightOfUseAssetAmortizationExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:title="presentation: AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to OperatingLeaseRightOfUseAssetAmortizationExpense" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="ShareBasedCompensation" xlink:title="ShareBasedCompensation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="ShareBasedCompensation" xlink:title="presentation: AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to ShareBasedCompensation" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="DeferredIncomeTaxesAndTaxCredits" xlink:title="DeferredIncomeTaxesAndTaxCredits" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="DeferredIncomeTaxesAndTaxCredits" xlink:title="presentation: AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to DeferredIncomeTaxesAndTaxCredits" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="IncreaseDecreaseInOperatingCapitalAbstract" xlink:title="IncreaseDecreaseInOperatingCapitalAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="IncreaseDecreaseInAccountsReceivable" xlink:title="IncreaseDecreaseInAccountsReceivable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInAccountsReceivable" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInAccountsReceivable" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="IncreaseDecreaseInInventories" xlink:title="IncreaseDecreaseInInventories" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInInventories" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInInventories" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="IncreaseDecreaseInPrepaidExpense" xlink:title="IncreaseDecreaseInPrepaidExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInPrepaidExpense" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInPrepaidExpense" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="IncreaseDecreaseInOtherCurrentAssets" xlink:title="IncreaseDecreaseInOtherCurrentAssets" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInOtherCurrentAssets" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInOtherCurrentAssets" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="IncreaseDecreaseInAccountsPayable" xlink:title="IncreaseDecreaseInAccountsPayable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInAccountsPayable" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInAccountsPayable" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="IncreaseDecreaseInAccruedLiabilities" xlink:title="IncreaseDecreaseInAccruedLiabilities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInAccruedLiabilities" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInAccruedLiabilities" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="IncreaseDecreaseInDeferredIncomeTaxes" xlink:title="IncreaseDecreaseInDeferredIncomeTaxes" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInDeferredIncomeTaxes" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInDeferredIncomeTaxes" order="6.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="IncreaseDecreaseInOtherNoncurrentAssets" xlink:title="IncreaseDecreaseInOtherNoncurrentAssets" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInOtherNoncurrentAssets" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInOtherNoncurrentAssets" order="7.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="IncreaseDecreaseInOperatingLeaseLiability" xlink:title="IncreaseDecreaseInOperatingLeaseLiability" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInOperatingLeaseLiability" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInOperatingLeaseLiability" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="IncreaseDecreaseInOperatingCapitalAbstract" xlink:title="presentation: AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to IncreaseDecreaseInOperatingCapitalAbstract" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:label="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:title="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:title="presentation: AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="presentation: NetCashProvidedByUsedInOperatingActivitiesAbstract to AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="NetCashProvidedByUsedInOperatingActivities" xlink:title="NetCashProvidedByUsedInOperatingActivities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="NetCashProvidedByUsedInOperatingActivities" xlink:title="presentation: NetCashProvidedByUsedInOperatingActivitiesAbstract to NetCashProvidedByUsedInOperatingActivities" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="presentation: StatementOfCashFlowsAbstract to NetCashProvidedByUsedInOperatingActivitiesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="presentation: NetCashProvidedByUsedInInvestingActivitiesAbstract to PaymentsToAcquirePropertyPlantAndEquipment" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="NetCashProvidedByUsedInInvestingActivities" xlink:title="NetCashProvidedByUsedInInvestingActivities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="NetCashProvidedByUsedInInvestingActivities" xlink:title="presentation: NetCashProvidedByUsedInInvestingActivitiesAbstract to NetCashProvidedByUsedInInvestingActivities" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:title="presentation: StatementOfCashFlowsAbstract to NetCashProvidedByUsedInInvestingActivitiesAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="FinanceLeasePrincipalPayments" xlink:title="FinanceLeasePrincipalPayments" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="FinanceLeasePrincipalPayments" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to FinanceLeasePrincipalPayments" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="NetCashProvidedByUsedInFinancingActivities" xlink:title="NetCashProvidedByUsedInFinancingActivities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="NetCashProvidedByUsedInFinancingActivities" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to NetCashProvidedByUsedInFinancingActivities" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:title="presentation: StatementOfCashFlowsAbstract to NetCashProvidedByUsedInFinancingActivitiesAbstract" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="presentation: StatementOfCashFlowsAbstract to EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="presentation: StatementOfCashFlowsAbstract to CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="presentation: StatementOfCashFlowsAbstract to CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2" xlink:title="presentation: StatementOfCashFlowsAbstract to CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="StatementOfStockholdersEquityAbstract" xlink:title="StatementOfStockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="StatementTable" xlink:title="StatementTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="StatementEquityComponentsAxis" xlink:title="StatementEquityComponentsAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="CommonStockMember" xlink:title="CommonStockMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="CommonStockMember" xlink:title="presentation: StatementEquityComponentsAxis to CommonStockMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="AdditionalPaidInCapitalMember" xlink:title="AdditionalPaidInCapitalMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="AdditionalPaidInCapitalMember" xlink:title="presentation: StatementEquityComponentsAxis to AdditionalPaidInCapitalMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="TreasuryStockCommonMember" xlink:title="TreasuryStockCommonMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="TreasuryStockCommonMember" xlink:title="presentation: StatementEquityComponentsAxis to TreasuryStockCommonMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="RetainedEarningsMember" xlink:title="RetainedEarningsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="RetainedEarningsMember" xlink:title="presentation: StatementEquityComponentsAxis to RetainedEarningsMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="AccumulatedOtherComprehensiveIncomeMember" xlink:title="AccumulatedOtherComprehensiveIncomeMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="AccumulatedOtherComprehensiveIncomeMember" xlink:title="presentation: StatementEquityComponentsAxis to AccumulatedOtherComprehensiveIncomeMember" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="EquityComponentDomain" xlink:title="EquityComponentDomain" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="EquityComponentDomain" xlink:title="presentation: StatementEquityComponentsAxis to EquityComponentDomain" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementTable" xlink:to="StatementEquityComponentsAxis" xlink:title="presentation: StatementTable to StatementEquityComponentsAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="StatementLineItems" xlink:title="StatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="IncreaseDecreaseInStockholdersEquityRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockholdersEquity" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockholdersEquity" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="SharesOutstanding" xlink:title="SharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="SharesOutstanding" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to SharesOutstanding" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:label="StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:title="StockIssuedDuringPeriodValueRestrictedStockAwardGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockIssuedDuringPeriodValueRestrictedStockAwardGross" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:title="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockIssuedDuringPeriodSharesRestrictedStockAwardGross" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:label="StockRepurchasedAndRetiredDuringPeriodValue" xlink:title="StockRepurchasedAndRetiredDuringPeriodValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockRepurchasedAndRetiredDuringPeriodValue" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockRepurchasedAndRetiredDuringPeriodValue" order="5.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:label="StockRepurchasedAndRetiredDuringPeriodShares" xlink:title="StockRepurchasedAndRetiredDuringPeriodShares" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockRepurchasedAndRetiredDuringPeriodShares" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockRepurchasedAndRetiredDuringPeriodShares" order="6.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" order="7.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to SharesPaidForTaxWithholdingForShareBasedCompensation" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:label="TreasuryStockValueAcquiredCostMethod" xlink:title="TreasuryStockValueAcquiredCostMethod" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="TreasuryStockValueAcquiredCostMethod" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to TreasuryStockValueAcquiredCostMethod" order="9.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="TreasuryStockSharesAcquired" xlink:title="TreasuryStockSharesAcquired" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="TreasuryStockSharesAcquired" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to TreasuryStockSharesAcquired" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="NetIncomeLoss" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to NetIncomeLoss" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity_2" xlink:title="StockholdersEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockholdersEquity_2" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockholdersEquity" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="SharesOutstanding_2" xlink:title="SharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="SharesOutstanding_2" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to SharesOutstanding" order="14.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementLineItems" xlink:to="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="presentation: StatementLineItems to IncreaseDecreaseInStockholdersEquityRollForward" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementTable" xlink:to="StatementLineItems" xlink:title="presentation: StatementTable to StatementLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfStockholdersEquityAbstract" xlink:to="StatementTable" xlink:title="presentation: StatementOfStockholdersEquityAbstract to StatementTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPolicies">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:title="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/NotesPayableAndLongtermDebt">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" xlink:title="DebtDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="DebtDisclosureTextBlock" xlink:title="DebtDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="DebtDisclosureTextBlock" xlink:title="presentation: DebtDisclosureAbstract to DebtDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTax">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="IncomeTaxDisclosureTextBlock" xlink:title="IncomeTaxDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="IncomeTaxDisclosureTextBlock" xlink:title="presentation: IncomeTaxDisclosureAbstract to IncomeTaxDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockbasedCompensation">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:title="DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/EarningsPerShare">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" xlink:title="EarningsPerShareAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="EarningsPerShareTextBlock" xlink:title="EarningsPerShareTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="EarningsPerShareTextBlock" xlink:title="presentation: EarningsPerShareAbstract to EarningsPerShareTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/CommitmentsAndContingencies">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="CommitmentsAndContingenciesDisclosureAbstract" xlink:title="CommitmentsAndContingenciesDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="CommitmentsAndContingenciesDisclosureTextBlock" xlink:title="CommitmentsAndContingenciesDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CommitmentsAndContingenciesDisclosureAbstract" xlink:to="CommitmentsAndContingenciesDisclosureTextBlock" xlink:title="presentation: CommitmentsAndContingenciesDisclosureAbstract to CommitmentsAndContingenciesDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchases">
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract" xlink:label="SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract" xlink:title="SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock" xlink:label="ShareRepurchaseProgramAndShareRepurchasesTextBlock" xlink:title="ShareRepurchaseProgramAndShareRepurchasesTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract" xlink:to="ShareRepurchaseProgramAndShareRepurchasesTextBlock" xlink:title="presentation: SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract to ShareRepurchaseProgramAndShareRepurchasesTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="CashAndCashEquivalentsPolicyTextBlock" xlink:title="CashAndCashEquivalentsPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="CashAndCashEquivalentsPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to CashAndCashEquivalentsPolicyTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:title="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="RevenueFromContractWithCustomerPolicyTextBlock" xlink:title="RevenueFromContractWithCustomerPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="RevenueFromContractWithCustomerPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to RevenueFromContractWithCustomerPolicyTextBlock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_RevenueRecognitionDiscountsPolicyTextBlock" xlink:label="RevenueRecognitionDiscountsPolicyTextBlock" xlink:title="RevenueRecognitionDiscountsPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="RevenueRecognitionDiscountsPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to RevenueRecognitionDiscountsPolicyTextBlock" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:label="SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:title="SellingGeneralAndAdministrativeExpensesPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="SellingGeneralAndAdministrativeExpensesPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to SellingGeneralAndAdministrativeExpensesPolicyTextBlock" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="PropertyPlantAndEquipmentPolicyTextBlock" xlink:title="PropertyPlantAndEquipmentPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="PropertyPlantAndEquipmentPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to PropertyPlantAndEquipmentPolicyTextBlock" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="InventoryPolicyTextBlock" xlink:title="InventoryPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="InventoryPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to InventoryPolicyTextBlock" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="LesseeLeasesPolicyTextBlock" xlink:title="LesseeLeasesPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="LesseeLeasesPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to LesseeLeasesPolicyTextBlock" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:title="ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="FairValueOfFinancialInstrumentsPolicy" xlink:title="FairValueOfFinancialInstrumentsPolicy" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="FairValueOfFinancialInstrumentsPolicy" xlink:title="presentation: AccountingPoliciesAbstract to FairValueOfFinancialInstrumentsPolicy" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="IncomeTaxPolicyTextBlock" xlink:title="IncomeTaxPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="IncomeTaxPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to IncomeTaxPolicyTextBlock" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:title="ShareBasedCompensationOptionAndIncentivePlansPolicy" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:title="presentation: AccountingPoliciesAbstract to ShareBasedCompensationOptionAndIncentivePlansPolicy" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:label="CreditLossFinancialInstrumentPolicyTextBlock" xlink:title="CreditLossFinancialInstrumentPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="CreditLossFinancialInstrumentPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to CreditLossFinancialInstrumentPolicyTextBlock" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:label="IntangibleAssetsFiniteLivedPolicy" xlink:title="IntangibleAssetsFiniteLivedPolicy" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="IntangibleAssetsFiniteLivedPolicy" xlink:title="presentation: AccountingPoliciesAbstract to IntangibleAssetsFiniteLivedPolicy" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="ComprehensiveIncomePolicyPolicyTextBlock" xlink:title="ComprehensiveIncomePolicyPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ComprehensiveIncomePolicyPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to ComprehensiveIncomePolicyPolicyTextBlock" order="14.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="DisaggregationOfRevenueTableTextBlock" xlink:title="DisaggregationOfRevenueTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="DisaggregationOfRevenueTableTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to DisaggregationOfRevenueTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="ScheduleOfInventoryCurrentTableTextBlock" xlink:title="ScheduleOfInventoryCurrentTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ScheduleOfInventoryCurrentTableTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to ScheduleOfInventoryCurrentTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockbasedCompensationTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:title="ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:label="ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:title="ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/EarningsPerShareTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" xlink:title="EarningsPerShareAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:title="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:title="presentation: EarningsPerShareAbstract to ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="ScheduleOfSegmentReportingInformationBySegmentTable" xlink:title="ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="presentation: SegmentGeographicalDomain to US" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="CA" xlink:title="CA" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="CA" xlink:title="presentation: SegmentGeographicalDomain to CA" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_ES" xlink:label="ES" xlink:title="ES" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="ES" xlink:title="presentation: SegmentGeographicalDomain to ES" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="presentation: StatementGeographicalAxis to SegmentGeographicalDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="StatementGeographicalAxis" xlink:title="presentation: ScheduleOfSegmentReportingInformationBySegmentTable to StatementGeographicalAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="SegmentReportingInformationLineItems" xlink:title="SegmentReportingInformationLineItems" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_BusinessDescriptionAbstract" xlink:label="BusinessDescriptionAbstract" xlink:title="BusinessDescriptionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfStores" xlink:label="NumberOfStores" xlink:title="NumberOfStores" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="BusinessDescriptionAbstract" xlink:to="NumberOfStores" xlink:title="presentation: BusinessDescriptionAbstract to NumberOfStores" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="NumberOfOperatingSegments" xlink:title="NumberOfOperatingSegments" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="BusinessDescriptionAbstract" xlink:to="NumberOfOperatingSegments" xlink:title="presentation: BusinessDescriptionAbstract to NumberOfOperatingSegments" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportableSegments" xlink:label="NumberOfReportableSegments" xlink:title="NumberOfReportableSegments" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="BusinessDescriptionAbstract" xlink:to="NumberOfReportableSegments" xlink:title="presentation: BusinessDescriptionAbstract to NumberOfReportableSegments" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingInformationLineItems" xlink:to="BusinessDescriptionAbstract" xlink:title="presentation: SegmentReportingInformationLineItems to BusinessDescriptionAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="SegmentReportingInformationLineItems" xlink:title="presentation: ScheduleOfSegmentReportingInformationBySegmentTable to SegmentReportingInformationLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ScheduleOfSegmentReportingInformationBySegmentTable" xlink:title="presentation: AccountingPoliciesAbstract to ScheduleOfSegmentReportingInformationBySegmentTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="DisaggregationOfRevenueTable" xlink:title="DisaggregationOfRevenueTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueTable" xlink:to="RangeAxis" xlink:title="presentation: DisaggregationOfRevenueTable to RangeAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="presentation: SegmentGeographicalDomain to US" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="CA" xlink:title="CA" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="CA" xlink:title="presentation: SegmentGeographicalDomain to CA" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_OtherCountriesMember" xlink:label="OtherCountriesMember" xlink:title="OtherCountriesMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="OtherCountriesMember" xlink:title="presentation: SegmentGeographicalDomain to OtherCountriesMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_AllOtherCountriesMember" xlink:label="AllOtherCountriesMember" xlink:title="AllOtherCountriesMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="AllOtherCountriesMember" xlink:title="presentation: SegmentGeographicalDomain to AllOtherCountriesMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="presentation: StatementGeographicalAxis to SegmentGeographicalDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueTable" xlink:to="StatementGeographicalAxis" xlink:title="presentation: DisaggregationOfRevenueTable to StatementGeographicalAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="ConcentrationRiskByTypeAxis" xlink:title="ConcentrationRiskByTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="ConcentrationRiskTypeDomain" xlink:title="ConcentrationRiskTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="GeographicConcentrationRiskMember" xlink:title="GeographicConcentrationRiskMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskTypeDomain" xlink:to="GeographicConcentrationRiskMember" xlink:title="presentation: ConcentrationRiskTypeDomain to GeographicConcentrationRiskMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskByTypeAxis" xlink:to="ConcentrationRiskTypeDomain" xlink:title="presentation: ConcentrationRiskByTypeAxis to ConcentrationRiskTypeDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueTable" xlink:to="ConcentrationRiskByTypeAxis" xlink:title="presentation: DisaggregationOfRevenueTable to ConcentrationRiskByTypeAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="ConcentrationRiskByBenchmarkAxis" xlink:title="ConcentrationRiskByBenchmarkAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="ConcentrationRiskBenchmarkDomain" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="SalesRevenueNetMember" xlink:title="SalesRevenueNetMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="SalesRevenueNetMember" xlink:title="presentation: ConcentrationRiskBenchmarkDomain to SalesRevenueNetMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskByBenchmarkAxis" xlink:to="ConcentrationRiskBenchmarkDomain" xlink:title="presentation: ConcentrationRiskByBenchmarkAxis to ConcentrationRiskBenchmarkDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueTable" xlink:to="ConcentrationRiskByBenchmarkAxis" xlink:title="presentation: DisaggregationOfRevenueTable to ConcentrationRiskByBenchmarkAxis" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="BalanceSheetLocationAxis" xlink:title="BalanceSheetLocationAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="BalanceSheetLocationDomain" xlink:title="BalanceSheetLocationDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="AccountsPayableAndAccruedLiabilitiesMember" xlink:title="AccountsPayableAndAccruedLiabilitiesMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="BalanceSheetLocationDomain" xlink:to="AccountsPayableAndAccruedLiabilitiesMember" xlink:title="presentation: BalanceSheetLocationDomain to AccountsPayableAndAccruedLiabilitiesMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="BalanceSheetLocationAxis" xlink:to="BalanceSheetLocationDomain" xlink:title="presentation: BalanceSheetLocationAxis to BalanceSheetLocationDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueTable" xlink:to="BalanceSheetLocationAxis" xlink:title="presentation: DisaggregationOfRevenueTable to BalanceSheetLocationAxis" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="DisaggregationOfRevenueLineItems" xlink:title="DisaggregationOfRevenueLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="RevenueFromContractWithCustomerAbstract" xlink:title="RevenueFromContractWithCustomerAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:label="ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:title="ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:title="presentation: RevenueFromContractWithCustomerAbstract to ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_InventoryMerchandiseExpectedToBeReturned" xlink:label="InventoryMerchandiseExpectedToBeReturned" xlink:title="InventoryMerchandiseExpectedToBeReturned" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="InventoryMerchandiseExpectedToBeReturned" xlink:title="presentation: RevenueFromContractWithCustomerAbstract to InventoryMerchandiseExpectedToBeReturned" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_GiftCardRedemptionPeriod" xlink:label="GiftCardRedemptionPeriod" xlink:title="GiftCardRedemptionPeriod" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="GiftCardRedemptionPeriod" xlink:title="presentation: RevenueFromContractWithCustomerAbstract to GiftCardRedemptionPeriod" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="ContractWithCustomerLiability" xlink:title="ContractWithCustomerLiability" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="ContractWithCustomerLiability" xlink:title="presentation: RevenueFromContractWithCustomerAbstract to ContractWithCustomerLiability" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="ContractWithCustomerLiabilityRevenueRecognized" xlink:title="ContractWithCustomerLiabilityRevenueRecognized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="ContractWithCustomerLiabilityRevenueRecognized" xlink:title="presentation: RevenueFromContractWithCustomerAbstract to ContractWithCustomerLiabilityRevenueRecognized" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueRevenueRecognized1" xlink:label="DeferredRevenueRevenueRecognized1" xlink:title="DeferredRevenueRevenueRecognized1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="DeferredRevenueRevenueRecognized1" xlink:title="presentation: RevenueFromContractWithCustomerAbstract to DeferredRevenueRevenueRecognized1" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="RevenueFromContractWithCustomerAbstract" xlink:title="presentation: DisaggregationOfRevenueLineItems to RevenueFromContractWithCustomerAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="DisaggregationOfRevenueAbstract" xlink:title="DisaggregationOfRevenueAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueAbstract" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="presentation: DisaggregationOfRevenueAbstract to RevenueFromContractWithCustomerExcludingAssessedTax" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="ConcentrationRiskPercentage1" xlink:title="ConcentrationRiskPercentage1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueAbstract" xlink:to="ConcentrationRiskPercentage1" xlink:title="presentation: DisaggregationOfRevenueAbstract to ConcentrationRiskPercentage1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="DisaggregationOfRevenueAbstract" xlink:title="presentation: DisaggregationOfRevenueLineItems to DisaggregationOfRevenueAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueTable" xlink:to="DisaggregationOfRevenueLineItems" xlink:title="presentation: DisaggregationOfRevenueTable to DisaggregationOfRevenueLineItems" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="DisaggregationOfRevenueTable" xlink:title="presentation: AccountingPoliciesAbstract to DisaggregationOfRevenueTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesDiscountsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_DiscountsAbstract" xlink:label="DiscountsAbstract" xlink:title="DiscountsAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_NumberOfClassesOfCustomerDiscounts" xlink:label="NumberOfClassesOfCustomerDiscounts" xlink:title="NumberOfClassesOfCustomerDiscounts" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DiscountsAbstract" xlink:to="NumberOfClassesOfCustomerDiscounts" xlink:title="presentation: DiscountsAbstract to NumberOfClassesOfCustomerDiscounts" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="DiscountsAbstract" xlink:title="presentation: AccountingPoliciesAbstract to DiscountsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="MachineryAndEquipmentMember" xlink:title="MachineryAndEquipmentMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="MachineryAndEquipmentMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to MachineryAndEquipmentMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="FurnitureAndFixturesMember" xlink:title="FurnitureAndFixturesMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FurnitureAndFixturesMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to FurnitureAndFixturesMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VehiclesMember" xlink:label="VehiclesMember" xlink:title="VehiclesMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="VehiclesMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to VehiclesMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="BuildingAndBuildingImprovementsMember" xlink:title="BuildingAndBuildingImprovementsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="BuildingAndBuildingImprovementsMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to BuildingAndBuildingImprovementsMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain" xlink:title="presentation: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentByTypeAxis" xlink:title="presentation: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentByTypeAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="presentation: RangeMember to MinimumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="RangeAxis" xlink:title="presentation: ScheduleOfPropertyPlantAndEquipmentTable to RangeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="PropertyPlantAndEquipmentLineItems" xlink:title="PropertyPlantAndEquipmentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNetAbstract" xlink:label="PropertyPlantAndEquipmentNetAbstract" xlink:title="PropertyPlantAndEquipmentNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="PropertyPlantAndEquipmentUsefulLife" xlink:title="PropertyPlantAndEquipmentUsefulLife" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentNetAbstract" xlink:to="PropertyPlantAndEquipmentUsefulLife" xlink:title="presentation: PropertyPlantAndEquipmentNetAbstract to PropertyPlantAndEquipmentUsefulLife" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentNetAbstract" xlink:title="presentation: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentNetAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentLineItems" xlink:title="presentation: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="presentation: AccountingPoliciesAbstract to ScheduleOfPropertyPlantAndEquipmentTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesInventoryDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNetAbstract" xlink:label="InventoryNetAbstract" xlink:title="InventoryNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods" xlink:label="InventoryFinishedGoods" xlink:title="InventoryFinishedGoods" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryNetAbstract" xlink:to="InventoryFinishedGoods" xlink:title="presentation: InventoryNetAbstract to InventoryFinishedGoods" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:label="InventoryWorkInProcessAndRawMaterials" xlink:title="InventoryWorkInProcessAndRawMaterials" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryNetAbstract" xlink:to="InventoryWorkInProcessAndRawMaterials" xlink:title="presentation: InventoryNetAbstract to InventoryWorkInProcessAndRawMaterials" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherInventoryInTransit" xlink:label="OtherInventoryInTransit" xlink:title="OtherInventoryInTransit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryNetAbstract" xlink:to="OtherInventoryInTransit" xlink:title="presentation: InventoryNetAbstract to OtherInventoryInTransit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryNetAbstract" xlink:to="InventoryNet" xlink:title="presentation: InventoryNetAbstract to InventoryNet" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="InventoryNetAbstract" xlink:title="presentation: AccountingPoliciesAbstract to InventoryNetAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_FairValueOfFinancialInstrumentsAbstract" xlink:label="FairValueOfFinancialInstrumentsAbstract" xlink:title="FairValueOfFinancialInstrumentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" xlink:label="FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" xlink:title="FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueOfFinancialInstrumentsAbstract" xlink:to="FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" xlink:title="presentation: FairValueOfFinancialInstrumentsAbstract to FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="FairValueOfFinancialInstrumentsAbstract" xlink:title="presentation: AccountingPoliciesAbstract to FairValueOfFinancialInstrumentsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_AccountsReceivableAndExpectedCreditLossesAbstract" xlink:label="AccountsReceivableAndExpectedCreditLossesAbstract" xlink:title="AccountsReceivableAndExpectedCreditLossesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="AllowanceForDoubtfulAccountsReceivable" xlink:title="AllowanceForDoubtfulAccountsReceivable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountsReceivableAndExpectedCreditLossesAbstract" xlink:to="AllowanceForDoubtfulAccountsReceivable" xlink:title="presentation: AccountsReceivableAndExpectedCreditLossesAbstract to AllowanceForDoubtfulAccountsReceivable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="AccountsReceivableAndExpectedCreditLossesAbstract" xlink:title="presentation: AccountingPoliciesAbstract to AccountsReceivableAndExpectedCreditLossesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntellectualPropertyMember" xlink:label="IntellectualPropertyMember" xlink:title="IntellectualPropertyMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="IntellectualPropertyMember" xlink:title="presentation: FiniteLivedIntangibleAssetsMajorClassNameDomain to IntellectualPropertyMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="presentation: FiniteLivedIntangibleAssetsByMajorClassAxis to FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="presentation: ScheduleOfFiniteLivedIntangibleAssetsTable to FiniteLivedIntangibleAssetsByMajorClassAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="RangeAxis" xlink:title="presentation: ScheduleOfFiniteLivedIntangibleAssetsTable to RangeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="FiniteLivedIntangibleAssetsLineItems" xlink:title="FiniteLivedIntangibleAssetsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" xlink:title="FiniteLivedIntangibleAssetsNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:title="AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:title="presentation: FiniteLivedIntangibleAssetsNetAbstract to AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="AmortizationOfIntangibleAssets" xlink:title="AmortizationOfIntangibleAssets" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="AmortizationOfIntangibleAssets" xlink:title="presentation: FiniteLivedIntangibleAssetsNetAbstract to AmortizationOfIntangibleAssets" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:title="presentation: FiniteLivedIntangibleAssetsNetAbstract to FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="presentation: FiniteLivedIntangibleAssetsNetAbstract to FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:title="presentation: FiniteLivedIntangibleAssetsNetAbstract to FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:title="presentation: FiniteLivedIntangibleAssetsNetAbstract to FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:title="presentation: FiniteLivedIntangibleAssetsNetAbstract to FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsNetAbstract" xlink:title="presentation: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsNetAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="FiniteLivedIntangibleAssetsLineItems" xlink:title="presentation: ScheduleOfFiniteLivedIntangibleAssetsTable to FiniteLivedIntangibleAssetsLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="presentation: AccountingPoliciesAbstract to ScheduleOfFiniteLivedIntangibleAssetsTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" xlink:title="DebtDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTable" xlink:label="DebtInstrumentTable" xlink:title="DebtInstrumentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="LineOfCreditFacilityAxis" xlink:title="LineOfCreditFacilityAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="LineOfCreditFacilityLenderDomain" xlink:title="LineOfCreditFacilityLenderDomain" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_JPMorganChaseBankNAMember" xlink:label="JPMorganChaseBankNAMember" xlink:title="JPMorganChaseBankNAMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityLenderDomain" xlink:to="JPMorganChaseBankNAMember" xlink:title="presentation: LineOfCreditFacilityLenderDomain to JPMorganChaseBankNAMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAxis" xlink:to="LineOfCreditFacilityLenderDomain" xlink:title="presentation: LineOfCreditFacilityAxis to LineOfCreditFacilityLenderDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentTable" xlink:to="LineOfCreditFacilityAxis" xlink:title="presentation: DebtInstrumentTable to LineOfCreditFacilityAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="DebtInstrumentLineItems" xlink:title="DebtInstrumentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentsAbstract" xlink:label="DebtInstrumentsAbstract" xlink:title="DebtInstrumentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentsAbstract" xlink:to="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="presentation: DebtInstrumentsAbstract to LineOfCreditFacilityMaximumBorrowingCapacity" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="ProceedsFromLinesOfCredit" xlink:title="ProceedsFromLinesOfCredit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentsAbstract" xlink:to="ProceedsFromLinesOfCredit" xlink:title="presentation: DebtInstrumentsAbstract to ProceedsFromLinesOfCredit" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentsAbstract" xlink:title="presentation: DebtInstrumentLineItems to DebtInstrumentsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentTable" xlink:to="DebtInstrumentLineItems" xlink:title="presentation: DebtInstrumentTable to DebtInstrumentLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="DebtInstrumentTable" xlink:title="presentation: DebtDisclosureAbstract to DebtInstrumentTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/IncomeTaxDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="EffectiveIncomeTaxRateContinuingOperations" xlink:title="EffectiveIncomeTaxRateContinuingOperations" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="EffectiveIncomeTaxRateContinuingOperations" xlink:title="presentation: IncomeTaxDisclosureAbstract to EffectiveIncomeTaxRateContinuingOperations" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="PlanNameAxis" xlink:title="PlanNameAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="PlanNameDomain" xlink:title="PlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_TwoThousandAndThirteenRestrictedStockPlanMember" xlink:label="TwoThousandAndThirteenRestrictedStockPlanMember" xlink:title="TwoThousandAndThirteenRestrictedStockPlanMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PlanNameDomain" xlink:to="TwoThousandAndThirteenRestrictedStockPlanMember" xlink:title="presentation: PlanNameDomain to TwoThousandAndThirteenRestrictedStockPlanMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:label="TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:title="TwoThousandAndTwentyThreeRestrictedStockPlanMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PlanNameDomain" xlink:to="TwoThousandAndTwentyThreeRestrictedStockPlanMember" xlink:title="presentation: PlanNameDomain to TwoThousandAndTwentyThreeRestrictedStockPlanMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain" xlink:title="presentation: PlanNameAxis to PlanNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="PlanNameAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to PlanNameAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="RestrictedStockUnitsRSUMember" xlink:title="RestrictedStockUnitsRSUMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_ServicedBasedRestrictedStockUnitsRSUsMember" xlink:label="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:title="ServicedBasedRestrictedStockUnitsRSUsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RestrictedStockUnitsRSUMember" xlink:to="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:title="presentation: RestrictedStockUnitsRSUMember to ServicedBasedRestrictedStockUnitsRSUsMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockUnitsRSUMember" xlink:title="presentation: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockUnitsRSUMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="presentation: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="TitleOfIndividualAxis" xlink:title="TitleOfIndividualAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="TitleOfIndividualWithRelationshipToEntityDomain" xlink:title="TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_NonEmployeeDirectorMember" xlink:label="NonEmployeeDirectorMember" xlink:title="NonEmployeeDirectorMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="NonEmployeeDirectorMember" xlink:title="presentation: TitleOfIndividualWithRelationshipToEntityDomain to NonEmployeeDirectorMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ChiefExecutiveOfficerMember" xlink:label="ChiefExecutiveOfficerMember" xlink:title="ChiefExecutiveOfficerMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="ChiefExecutiveOfficerMember" xlink:title="presentation: TitleOfIndividualWithRelationshipToEntityDomain to ChiefExecutiveOfficerMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="ShareBasedPaymentArrangementEmployeeMember" xlink:title="ShareBasedPaymentArrangementEmployeeMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="ShareBasedPaymentArrangementEmployeeMember" xlink:title="presentation: TitleOfIndividualWithRelationshipToEntityDomain to ShareBasedPaymentArrangementEmployeeMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_DirectorMember" xlink:label="DirectorMember" xlink:title="DirectorMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="DirectorMember" xlink:title="presentation: TitleOfIndividualWithRelationshipToEntityDomain to DirectorMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TitleOfIndividualAxis" xlink:to="TitleOfIndividualWithRelationshipToEntityDomain" xlink:title="presentation: TitleOfIndividualAxis to TitleOfIndividualWithRelationshipToEntityDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="TitleOfIndividualAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to TitleOfIndividualAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="presentation: RangeMember to MinimumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="RangeAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to RangeAxis" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="CommonStockCapitalSharesReservedForFutureIssuance" xlink:title="CommonStockCapitalSharesReservedForFutureIssuance" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" xlink:to="CommonStockCapitalSharesReservedForFutureIssuance" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract to CommonStockCapitalSharesReservedForFutureIssuance" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_RestrictedStockAndRestrictedStockUnitsMember" xlink:label="RestrictedStockAndRestrictedStockUnitsMember" xlink:title="RestrictedStockAndRestrictedStockUnitsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockAndRestrictedStockUnitsMember" xlink:title="presentation: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockAndRestrictedStockUnitsMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="presentation: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_2" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_2" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_2" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_2" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="RestrictedStockUnitsRSUMember" xlink:title="RestrictedStockUnitsRSUMember" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_ServicedBasedRestrictedStockUnitsRSUsMember" xlink:label="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:title="ServicedBasedRestrictedStockUnitsRSUsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RestrictedStockUnitsRSUMember" xlink:to="ServicedBasedRestrictedStockUnitsRSUsMember" xlink:title="presentation: RestrictedStockUnitsRSUMember to ServicedBasedRestrictedStockUnitsRSUsMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:label="PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:title="PerformanceBasedRestrictedStockUnitsRSUsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RestrictedStockUnitsRSUMember" xlink:to="PerformanceBasedRestrictedStockUnitsRSUsMember" xlink:title="presentation: RestrictedStockUnitsRSUMember to PerformanceBasedRestrictedStockUnitsRSUsMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockUnitsRSUMember" xlink:title="presentation: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockUnitsRSUMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="presentation: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAbstract" xlink:label="ShareBasedCompensationAbstract" xlink:title="ShareBasedCompensationAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="AllocatedShareBasedCompensationExpense" xlink:title="AllocatedShareBasedCompensationExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationAbstract" xlink:to="AllocatedShareBasedCompensationExpense" xlink:title="presentation: ShareBasedCompensationAbstract to AllocatedShareBasedCompensationExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationAbstract" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" xlink:title="presentation: ShareBasedCompensationAbstract to EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationAbstract" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" xlink:title="presentation: ShareBasedCompensationAbstract to EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationAbstract" xlink:to="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" xlink:title="presentation: ShareBasedCompensationAbstract to EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationAbstract" xlink:to="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" xlink:title="presentation: ShareBasedCompensationAbstract to EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:label="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:title="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationAbstract" xlink:to="EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" xlink:title="presentation: ShareBasedCompensationAbstract to EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationAbstract" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:title="presentation: ShareBasedCompensationAbstract to EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:title="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationAbstract" xlink:to="StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:title="presentation: ShareBasedCompensationAbstract to StockIssuedDuringPeriodSharesRestrictedStockAwardGross" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationAbstract" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/EarningsPerShareDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" xlink:title="EarningsPerShareAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:label="NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:title="NetIncomeLossAvailableToCommonStockholdersBasicAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:label="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:title="ScheduleOfEarningsPerShareDilutedByCommonClassTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockMember" xlink:label="RestrictedStockMember" xlink:title="RestrictedStockMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockMember" xlink:title="presentation: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="presentation: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:to="AwardTypeAxis" xlink:title="presentation: ScheduleOfEarningsPerShareDilutedByCommonClassTable to AwardTypeAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="TitleOfIndividualAxis" xlink:title="TitleOfIndividualAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="TitleOfIndividualWithRelationshipToEntityDomain" xlink:title="TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_DirectorMember" xlink:label="DirectorMember" xlink:title="DirectorMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="DirectorMember" xlink:title="presentation: TitleOfIndividualWithRelationshipToEntityDomain to DirectorMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="ShareBasedPaymentArrangementEmployeeMember" xlink:title="ShareBasedPaymentArrangementEmployeeMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="ShareBasedPaymentArrangementEmployeeMember" xlink:title="presentation: TitleOfIndividualWithRelationshipToEntityDomain to ShareBasedPaymentArrangementEmployeeMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TitleOfIndividualAxis" xlink:to="TitleOfIndividualWithRelationshipToEntityDomain" xlink:title="presentation: TitleOfIndividualAxis to TitleOfIndividualWithRelationshipToEntityDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:to="TitleOfIndividualAxis" xlink:title="presentation: ScheduleOfEarningsPerShareDilutedByCommonClassTable to TitleOfIndividualAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDilutedLineItems" xlink:label="EarningsPerShareDilutedLineItems" xlink:title="EarningsPerShareDilutedLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAbstract" xlink:label="NetIncomeLossAbstract" xlink:title="NetIncomeLossAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetIncomeLossAbstract" xlink:to="NetIncomeLoss" xlink:title="presentation: NetIncomeLossAbstract to NetIncomeLoss" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="NetIncomeLossAbstract" xlink:title="presentation: EarningsPerShareDilutedLineItems to NetIncomeLossAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:title="WeightedAverageNumberOfSharesOutstandingAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingAbstract to WeightedAverageNumberOfSharesOutstandingBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingAbstract to IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingAbstract to WeightedAverageNumberOfDilutedSharesOutstanding" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="EarningsPerShareBasic" xlink:title="EarningsPerShareBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="EarningsPerShareBasic" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingAbstract to EarningsPerShareBasic" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="EarningsPerShareDiluted" xlink:title="EarningsPerShareDiluted" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="EarningsPerShareDiluted" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingAbstract to EarningsPerShareDiluted" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareDilutedLineItems" xlink:to="WeightedAverageNumberOfSharesOutstandingAbstract" xlink:title="presentation: EarningsPerShareDilutedLineItems to WeightedAverageNumberOfSharesOutstandingAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:to="EarningsPerShareDilutedLineItems" xlink:title="presentation: ScheduleOfEarningsPerShareDilutedByCommonClassTable to EarningsPerShareDilutedLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:to="ScheduleOfEarningsPerShareDilutedByCommonClassTable" xlink:title="presentation: NetIncomeLossAvailableToCommonStockholdersBasicAbstract to ScheduleOfEarningsPerShareDilutedByCommonClassTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="NetIncomeLossAvailableToCommonStockholdersBasicAbstract" xlink:title="presentation: EarningsPerShareAbstract to NetIncomeLossAvailableToCommonStockholdersBasicAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchasesDetails">
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract" xlink:label="SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract" xlink:title="SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="ClassOfTreasuryStockTable" xlink:title="ClassOfTreasuryStockTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ClassOfTreasuryStockTable" xlink:to="RangeAxis" xlink:title="presentation: ClassOfTreasuryStockTable to RangeAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityClassOfTreasuryStockLineItems" xlink:label="EquityClassOfTreasuryStockLineItems" xlink:title="EquityClassOfTreasuryStockLineItems" />
    <link:loc xlink:type="locator" xlink:href="tlfa-20240630.xsd#tlfa_StockRepurchaseProgramAbstract" xlink:label="StockRepurchaseProgramAbstract" xlink:title="StockRepurchaseProgramAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramAuthorizedAmount1" xlink:label="StockRepurchaseProgramAuthorizedAmount1" xlink:title="StockRepurchaseProgramAuthorizedAmount1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockRepurchaseProgramAbstract" xlink:to="StockRepurchaseProgramAuthorizedAmount1" xlink:title="presentation: StockRepurchaseProgramAbstract to StockRepurchaseProgramAuthorizedAmount1" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:label="StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:title="StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockRepurchaseProgramAbstract" xlink:to="StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:title="presentation: StockRepurchaseProgramAbstract to StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityClassOfTreasuryStockLineItems" xlink:to="StockRepurchaseProgramAbstract" xlink:title="presentation: EquityClassOfTreasuryStockLineItems to StockRepurchaseProgramAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ClassOfTreasuryStockTable" xlink:to="EquityClassOfTreasuryStockLineItems" xlink:title="presentation: ClassOfTreasuryStockTable to EquityClassOfTreasuryStockLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract" xlink:to="ClassOfTreasuryStockTable" xlink:title="presentation: SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract to ClassOfTreasuryStockTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>9
<FILENAME>image00001.jpg
<TEXT>
begin 644 image00001.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  8$!08%! 8&!08'!P8("A *"@D)
M"A0.#PP0%Q08&!<4%A8:'24?&ALC'!86("P@(R8G*2HI&1\M,"TH,"4H*2C_
MVP!# 0<'!PH("A,*"A,H&A8:*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H
M*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"C_P  1" !O CP# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
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
MM71USGQ(_P"2=^*?^P5=?^B6KHZ "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **Y?XCZA>Z;X;673)YX+F2]M;??!&DDFV2=$8(K@J6(8@
M9'6K'A/[?_9MP][=:I<3;R$_M."&)UP!T$2@;>>IYZT =!4-]:PWUE<6ET@>
M">-HI%/1E88(_(UQ/A+4-876;2#Q!J&HI<W,#YL[JRA\EI%P28)HOX0,X5RS
M$<\$&KNK6>L-XMLXK?Q-J%O:722S&W2WMF5-ACPH+1%L'<<Y)/O0!Y9I7[-M
MHE](VJZ_/+9ACLCMX0CD=LL21^0KP_XCZ/:>'_'&L:5IK.UI:S^7&7;<V, X
M)]B2*^\J^%?BU*DWQ,\3-&<@7\J'CNK8/Z@U28F?2G[,MN(?A9;R 8\^ZFD/
M&,\A?Q^[7JU>;? ]X=&^"NDW5](L4$4,]U-)DD*GF2-D_1?Y5T7@OQUX?\9K
M/_8%]Y\D&/-B>-HW4'H<$#(]Q28R7XA>)(_"7@[4M9D 9X(\0H?XY&X0?3)&
M?;-?(/PU\*W7Q$\<BVNI93$[-=7]R/O!<Y8Y_O,Q _'/:O9OVMKV>/P_H%DB
MM]FGN9)9&'3<B@*#]=['\*N?LI:5!!X,U'4P$:ZNKPQ,PY*HBC"GTY9C^(H6
MPCYPU02>&_&5XNFRM'+IM^ZP29R5,<AVG]!7W9I>J1W_ (<M-67'E7%HET.<
M##(&_K7PCXQ+-XNUPN<L;Z<D^I\QJ^Q-)NOL/P+L[OG]QX;27Y1D_+:@\9^E
M-@CY/\!^++C0/B!8Z_-,_-SNO&&?WD;G]YD#KP2?J!7:Z'IS_%GQ5XM\2ZWY
MJZ=8VDDL<:N1L.QA"@/H I8XZD>YKQ^OJ?P7H(\._LVZQ*R#[3J6F7-Y*?42
M1$)_XYM/U)H8D> _"W4WTCXB^';R(XVWL<;'_8<[&_\ '6-?9?Q"\3P>#_"-
M_K,ZAVA3;#&3CS)#PJ_GU]@:^)/!<?F^,="C!P7OX%S]9%KW/]K;5V"Z!HR$
M;"9+N0>X^1/YO0]QH\&FEU+Q1XB+R,]WJFHW '/5Y'. /8<X'H*[#XP_#^W\
M 76C6T%[)=375KYEQO  $@."5 Z*>V<G@\UL_LR:"-5^(?VZ5-T.EP-/D]/,
M;Y5_FQ_X#73_ +47A36KC4T\3H(I=&MK>.V;:_SQ$N>2I[%G R,T7U$>6?!_
M_DI_AK_K]2OI_P#:&OI;'X3ZOY#,C3F* L/[K2+N'XC(_&OF#X/_ /)3_#7_
M %^I7TI^TK_R2F]_Z^(?_0Q0]QK8\U_91\0SPZ[J7A^1F:UN(3=1*3PDBD X
M^H/_ (Z*]9_:"D>/X0>(&C=D8B!25..#/&"/Q!(KP#]FAB/BK: $@-;3 X/7
MY:]R_:2O$MOA/J,3D!KJ:"% >Y$@?^2&D]PZ'G'[*OB>X75;_P ,W#E[.6%K
MJ!6.?+<$!@/9@<_\!]S7TI##%!'L@C2-,YVHH _2OC_]FG_DJUE_U[S?^@5]
M2>.+J^L="^U:;<K;RQSP[R8@^]&<*5&>!][KST_$#W!&_17.>-KS4+.TLCI_
MVN.&2XV7<]G )YX8MCG='&5;<=X0?=; )...(/ VJWFJV>L0W,L[R6-Z;6*>
MY@$<KKY,4@:1 % ;]YT 7@#@4AG545RGA;4M6O/ ]S=.\5[J\4M]%$741)(T
M4\J1@XX ^10:S?"VL:I)K>G0W5SJL\5U#+]H34+!;80RJ%.(B$4LO+?WQT^;
MU .]HHHH YSXD?\ )._%/_8*NO\ T2U='7.?$C_DG?BG_L%77_HEJZ.@ HHH
MH ***IZAJFGZ;L_M&^M;3>"4\^98]P&,XR><9&?J* +E%%5)-3L8KU;.6]M4
MNVQM@:50YSTPN<T 6Z**K/?VB:C'8/<PB]DC:9("XWL@(!8#KC)% %FBBLZX
MUW2;6=X;G5+"&9#AHY+A%9>_()XH T:*HW.KZ;:W0MKG4+.&X8@"*2=5<D]!
M@G//:K-U<06D#3W4T<$*?>DD8*J]N2>* ):*R6\2Z$H).M:8 .23=1\?K6I#
M*DT22PNLD3J&1U.0P/0@]Q0 ZBBJ-]J^FV$PBOM0L[:5EWA)IU1BO3.">E %
MZBJ<VJ6$-E#>37UK':3 &*=IE".",C:V<'(Y&.U6+>>*YA2:VECFA<95XV#*
MWT(H DHJGJ>J6&E0K+J=[;6D;-L5IY0@9CT SU/M2:5JNGZO 9M+OK:\B4[6
M>"57"GT.#P?:@"[14%]>6MA:M<W]S#;6ZD!I9I B D@#)/')( ]R*BL-5T_4
M))$L+^TNGC 9U@F5RH.<$@'C.#^5 %RBJ&GZSI>HR>7I^I65U(4\S;!.LAV\
M?-@'IR.?<47NM:78W/V>^U*RMKC8)/*FG5&VDD!L$YQD$9]C0!?HJCI6KZ;J
M\1ETG4+.^C'5[:=90/Q4GT-7J "BBJ=WJEA9W$<%W?6L$\F-D<LRJS9.!@$Y
M.3Q0!<HHJHNJ6#7YL5OK4WJG!MQ,ID'&?NYSTY^E %NBBJR7UJ^H2V*7$37D
M4:RO"&!=48D D=@<'\J +-%%9-YXET*R,HO-:TRW,3;)/-NXTV-G&#D\'- &
MM145I=07D"SVD\4\+?=DB<,I^A'%,OKVUL(A+?7,%M$6VAYI @)],GOP?RH
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
MD^W[R.OK.OE_]DJT#^*=<O,<PV2PYYXWN#_[3KZ@I/<$%%%%(84444 %%%%
M'.?$C_DG?BG_ +!5U_Z):NCKG/B1_P D[\4_]@JZ_P#1+5T= !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %4;K5K*U
MU:QTV>;9>WRR/;Q[&.\1@%^0,#&X=2.O%7JX?Q1_R5;P-_U[ZE_Z!#0!W%<=
MJ'Q+\*V&H75C<ZA.+FUD,,RQV-Q($<=1N6,C\C78UY+X2OO$UMK'C--!T:PO
M[4Z].6DN+XP,'\N+(V[&R,8YSW]J /2=!UFQU_3EOM+E>6V9BH9X7B.0<'Y7
M /Z5!KGB;1]"OM-L]6OH[:YU*7R;5&5CYC9 QP#CEAR<#FK6B3:A/IL<FLVD
M-G>DG?##-YJKSQAL#/&.U>):W?\ AGQIK/C"XUG7]-LI(8_[+TCS[A4:%HSO
M:<#/>7&",':N,T >VZWJMGHFES:AJ4CQVD.W>R1/(1E@H^506/)'05R2_%KP
M8TKQKJ=R9$ +(-.NLKGID>76I\-/$J^+/!>FZH2IN&3R[D*>%E7A_P "1D>Q
M%9'AK_DL7C3_ *\[#_T&2@#K+S6]/LY=,BN;C8^I2>5:CRV/F-M+8X'' )YQ
M3]:U>QT6T2YU.?R('E2!6V,V7=@JC !/)(KA_BU)>0ZUX(DTRWBN;Q=48Q0R
MR^6KGR7X+8./RK$^)=_XJN-%L(]:T/3K.S.J69::#4#,P/G+@;?+'\Z /2/$
M_BC2/"\-O+K=T]NEQ(8HMD$DI=@,XPBD] :S]$^('AS6]4AT_3;RYDNYMVQ7
ML;B,'"EC\S(%' /4UC_%&6^AU_P3)I5M%=7JZA+Y<,LOE*W^CR9RV#CC)Z5O
M:#?^*;B_V:WHFGV5IM)\V"_,S;NPV[%X]\T -\1^.O#WAS4TT[5[V6*\>$7
MBCM)ICY98J&RB$=5(_"K?AKQ7HGB83_V)?QW+P8\V,JT<D>>FY& 8?E7%>(-
M;?0_C-+,FD:KJGF:!$ICTZ%9&3_2)3DAF7BCP3J)\:^/!XKT[3)].TNULI-/
M>2Y*+-<2^8IV,BDE0FT]3GYJ8'J%?(W[4-X+GXFB$-G[+911$9Z$EG_DXKZY
MKX>^--Z-0^*?B293D+=&#/\ US41_P#LM"$SV+]D>PV:/XAU ]9IXH![;%+'
M_P!&"O?Z\K_9IT\67PLM)MI5KVXFN#GO\VP'\D%>J4/<:"BBBD 4444 %%%%
M '.?$C_DG?BG_L%77_HEJZ.N<^)'_)._%/\ V"KK_P!$M71T %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5S'B[PI)
MKVJ:3J-IJ]WI5YIRS+%+;HCY$H4-D."/X!^==/10!SWAW0]4TR]>;4/$M_JT
M31E!!<0PHJMD'=E%!SP1Z<UC_P#""W]OJ6J7.D^*]3TZ/4+IKR6"*"%U$C
MD%D)Z*._:NYHH P].T:_MM#O+&[UZ\O;F?>$O98XUDA#* -H50.#DC(ZFJV@
M>"/#^BZ+9Z=#I=E,MM&(_-FMT9Y#W9CCJ3D_C72T4 8'ASPQ:>']3U>YTUVB
MMM1D29K-558HI NUF0 <;L#(]JET_P /PV7BG5M<2:1IM1BAB>,@;4$8(!'?
MG<:VJ* ,77M AUC4M%O)9I(WTNY-S&J@8<E"N#[8-'BS0(?$FFQ6=Q-)"D=S
M%<AD ))C<,!SV)%;5% '.>,/#+>(7TR:#4[G3;K3YFGAG@1&8$H4/# CHQ[5
M#H_AS6;+4H;B[\7:G?P(26MIK>!5DX(Y*H#[\'M74T4 8ZZ%$OB^3Q )I//>
MQ6P,6!MVK(S[O7.6(JO9^&(+#Q5=:UI]Q+;"]3%Y:*!Y4[CI+CL_8D=1U]:Z
M"B@ K\_?%5P;OQ/K%PW#37DTA_%R:_0*O&->^ FDZEXS&LV]^]O8RW'VBZL#
M%O#G=E@K9&T'TP<9..P#3$ST;X>:8VC^!=!L)%"RPV42R =-Y4%OU)KH:**0
MPHHHH **** "BBB@#G/B1_R3OQ3_ -@JZ_\ 1+5T=8OC:RN-3\&:_864?FW5
MUI]Q!"FX+N=HV"C)X&21UK:H **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
+ **** "BBB@#_]D!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717066264096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information - shares<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Aug. 07, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Jun. 30,  2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">1-12368<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">TANDY LEATHER FACTORY, INC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000909724<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">75-2543540<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">1900 Southeast Loop 820<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Fort Worth<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">TX<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">76140<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">817<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">872-3200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, par value $0.0024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">TLF<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,422,546<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717059094032">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>CURRENT ASSETS:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 11,531<span></span>
</td>
<td class="nump">$ 12,159<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable-trade, net of allowance for credit losses of $31 at June 30, 2024 and December 31, 2023.</a></td>
<td class="nump">394<span></span>
</td>
<td class="nump">264<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventory</a></td>
<td class="nump">37,191<span></span>
</td>
<td class="nump">37,993<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesReceivable', window );">Income tax receivable</a></td>
<td class="nump">682<span></span>
</td>
<td class="nump">248<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseCurrent', window );">Prepaid expenses</a></td>
<td class="nump">910<span></span>
</td>
<td class="nump">475<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other current assets</a></td>
<td class="nump">84<span></span>
</td>
<td class="nump">113<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">50,792<span></span>
</td>
<td class="nump">51,252<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, at cost</a></td>
<td class="nump">30,069<span></span>
</td>
<td class="nump">28,678<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less accumulated depreciation</a></td>
<td class="num">(18,730)<span></span>
</td>
<td class="num">(18,131)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">11,339<span></span>
</td>
<td class="nump">10,547<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease assets</a></td>
<td class="nump">9,453<span></span>
</td>
<td class="nump">8,995<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAsset', window );">Financing lease assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">23<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred income taxes</a></td>
<td class="nump">770<span></span>
</td>
<td class="nump">880<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">440<span></span>
</td>
<td class="nump">438<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">TOTAL ASSETS</a></td>
<td class="nump">72,794<span></span>
</td>
<td class="nump">72,135<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>CURRENT LIABILITIES:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableTradeCurrent', window );">Accounts payable-trade</a></td>
<td class="nump">2,397<span></span>
</td>
<td class="nump">2,333<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesAndOtherLiabilities', window );">Accrued expenses and other liabilities</a></td>
<td class="nump">2,388<span></span>
</td>
<td class="nump">3,140<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxesPayableCurrent', window );">Income taxes payable</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">288<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Current portion of operating lease liabilities</a></td>
<td class="nump">3,132<span></span>
</td>
<td class="nump">3,172<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">7,917<span></span>
</td>
<td class="nump">8,933<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income taxes</a></td>
<td class="nump">9<span></span>
</td>
<td class="nump">9<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent', window );">Uncertain tax positions</a></td>
<td class="nump">388<span></span>
</td>
<td class="nump">388<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other non-current liabilities</a></td>
<td class="nump">210<span></span>
</td>
<td class="nump">205<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities, non-current</a></td>
<td class="nump">6,734<span></span>
</td>
<td class="nump">6,253<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityNoncurrent', window );">Finance lease liabilities, non-current</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">COMMITMENTS AND CONTINGENCIES (Note 6)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>STOCKHOLDERS' EQUITY:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $0.0024 par value; 25,000,000 shares authorized; 9,846,670 and 9,823,621 shares issued at June 30, 2024 and December 31, 2023, respectively; 8,422,546 and 8,399,245 shares outstanding at June 30, 2024 and December 31, 2023, respectively</a></td>
<td class="nump">23<span></span>
</td>
<td class="nump">23<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Paid-in capital</a></td>
<td class="nump">4,335<span></span>
</td>
<td class="nump">3,981<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">64,285<span></span>
</td>
<td class="nump">63,659<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonValue', window );">Treasury stock at cost (1,424,376 shares at June 30, 2024 and December 31, 2023)</a></td>
<td class="num">(9,773)<span></span>
</td>
<td class="num">(9,773)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss, net of tax</a></td>
<td class="num">(1,334)<span></span>
</td>
<td class="num">(1,544)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders' equity</a></td>
<td class="nump">57,536<span></span>
</td>
<td class="nump">56,346<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY</a></td>
<td class="nump">$ 72,794<span></span>
</td>
<td class="nump">$ 72,135<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableTradeCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableTradeCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesAndOtherLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesAndOtherLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 12: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 30: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of right-of-use asset from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount due within one year of the balance sheet date (or one operating cycle, if longer) from tax authorities as of the balance sheet date representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-5<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for uncertainty in income taxes classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilityForUncertainTaxPositionsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482955/340-10-05-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483032/340-10-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478451/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481520/505-30-50-4<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717062627776">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>CURRENT ASSETS:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for credit losses</a></td>
<td class="nump">$ 31<span></span>
</td>
<td class="nump">$ 31<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>STOCKHOLDERS' EQUITY:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.0024<span></span>
</td>
<td class="nump">$ 0.0024<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="nump">25,000,000<span></span>
</td>
<td class="nump">25,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued (in shares)</a></td>
<td class="nump">9,846,670<span></span>
</td>
<td class="nump">9,823,621<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding (in shares)</a></td>
<td class="nump">8,422,546<span></span>
</td>
<td class="nump">8,399,245<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonShares', window );">Treasury stock, shares (in shares)</a></td>
<td class="nump">1,424,376<span></span>
</td>
<td class="nump">1,424,376<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717059211440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Operations and Comprehensive Income - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Condensed Consolidated Statements of Operations and Comprehensive Income [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 17,286<span></span>
</td>
<td class="nump">$ 17,482<span></span>
</td>
<td class="nump">$ 36,561<span></span>
</td>
<td class="nump">$ 37,842<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="nump">7,268<span></span>
</td>
<td class="nump">6,561<span></span>
</td>
<td class="nump">15,623<span></span>
</td>
<td class="nump">15,102<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">10,018<span></span>
</td>
<td class="nump">10,921<span></span>
</td>
<td class="nump">20,938<span></span>
</td>
<td class="nump">22,740<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingCostsAndExpenses', window );">Operating expenses</a></td>
<td class="nump">9,955<span></span>
</td>
<td class="nump">10,131<span></span>
</td>
<td class="nump">20,226<span></span>
</td>
<td class="nump">20,969<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">63<span></span>
</td>
<td class="nump">790<span></span>
</td>
<td class="nump">712<span></span>
</td>
<td class="nump">1,771<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLossAbstract', window );"><strong>Other (income) expense:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeExpenseNet', window );">Interest income</a></td>
<td class="num">(97)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(181)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other, net</a></td>
<td class="nump">10<span></span>
</td>
<td class="num">(2)<span></span>
</td>
<td class="nump">36<span></span>
</td>
<td class="nump">37<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Total other (income) expense</a></td>
<td class="num">(87)<span></span>
</td>
<td class="num">(2)<span></span>
</td>
<td class="num">(145)<span></span>
</td>
<td class="nump">37<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">150<span></span>
</td>
<td class="nump">792<span></span>
</td>
<td class="nump">857<span></span>
</td>
<td class="nump">1,734<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax provision</a></td>
<td class="nump">49<span></span>
</td>
<td class="nump">261<span></span>
</td>
<td class="nump">231<span></span>
</td>
<td class="nump">539<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">101<span></span>
</td>
<td class="nump">531<span></span>
</td>
<td class="nump">626<span></span>
</td>
<td class="nump">1,195<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments, net of tax</a></td>
<td class="nump">40<span></span>
</td>
<td class="num">(70)<span></span>
</td>
<td class="nump">210<span></span>
</td>
<td class="num">(109)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest', window );">Comprehensive income</a></td>
<td class="nump">$ 141<span></span>
</td>
<td class="nump">$ 461<span></span>
</td>
<td class="nump">$ 836<span></span>
</td>
<td class="nump">$ 1,086<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Net income per common share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.06<span></span>
</td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.14<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.06<span></span>
</td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.14<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted average number of shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">8,415,795<span></span>
</td>
<td class="nump">8,327,178<span></span>
</td>
<td class="nump">8,406,156<span></span>
</td>
<td class="nump">8,315,214<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">8,505,068<span></span>
</td>
<td class="nump">8,366,904<span></span>
</td>
<td class="nump">8,467,156<span></span>
</td>
<td class="nump">8,329,969<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestIncomeExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of interest income (expense) classified as operating.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingCostsAndExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Excludes Selling, General and Administrative Expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingCostsAndExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717068547376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Cash Flows - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 626<span></span>
</td>
<td class="nump">$ 1,195<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSoldDepreciation', window );">Depreciation and amortization</a></td>
<td class="nump">631<span></span>
</td>
<td class="nump">590<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense', window );">Operating lease asset amortization</a></td>
<td class="nump">1,799<span></span>
</td>
<td class="nump">1,670<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">354<span></span>
</td>
<td class="nump">447<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxesAndTaxCredits', window );">Deferred income taxes</a></td>
<td class="nump">110<span></span>
</td>
<td class="num">(31)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable-trade</a></td>
<td class="num">(133)<span></span>
</td>
<td class="num">(51)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventory</a></td>
<td class="nump">775<span></span>
</td>
<td class="nump">714<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidExpense', window );">Prepaid expenses</a></td>
<td class="num">(435)<span></span>
</td>
<td class="num">(103)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherCurrentAssets', window );">Other current assets</a></td>
<td class="nump">29<span></span>
</td>
<td class="nump">33<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable-trade</a></td>
<td class="nump">68<span></span>
</td>
<td class="num">(747)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued expenses and other liabilities</a></td>
<td class="num">(738)<span></span>
</td>
<td class="num">(22)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes', window );">Income taxes, net</a></td>
<td class="num">(718)<span></span>
</td>
<td class="nump">414<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets', window );">Other assets</a></td>
<td class="num">(2)<span></span>
</td>
<td class="num">(63)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="num">(1,794)<span></span>
</td>
<td class="num">(1,717)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities', window );">Total adjustments</a></td>
<td class="num">(54)<span></span>
</td>
<td class="nump">1,134<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">572<span></span>
</td>
<td class="nump">2,329<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchase of property and equipment</a></td>
<td class="num">(1,428)<span></span>
</td>
<td class="num">(174)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(1,428)<span></span>
</td>
<td class="num">(174)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeasePrincipalPayments', window );">Payment of finance lease obligations</a></td>
<td class="num">(1)<span></span>
</td>
<td class="num">(3)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash used in financing activities</a></td>
<td class="num">(1)<span></span>
</td>
<td class="num">(3)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Effect of exchange rate changes on cash and cash equivalents</a></td>
<td class="nump">229<span></span>
</td>
<td class="num">(94)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net (decrease) increase in cash and cash equivalents</a></td>
<td class="num">(628)<span></span>
</td>
<td class="nump">2,058<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, beginning of period</a></td>
<td class="nump">12,159<span></span>
</td>
<td class="nump">7,975<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, end of period</a></td>
<td class="nump">$ 11,531<span></span>
</td>
<td class="nump">$ 10,033<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The sum of adjustments which are added to or deducted from net income or loss, including the portion attributable to noncontrolling interest, to reflect cash provided by or used in operating activities, in accordance with the indirect cash flow method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477401/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSoldDepreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for allocation of cost of tangible asset over its useful life directly used in production of good and rendering of service.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSoldDepreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxesAndTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) and income tax credits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxesAndTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477401/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeasePrincipalPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for principal payment on finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeasePrincipalPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDeferredIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherCurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherCurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherNoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amount of outstanding money paid in advance for goods or services that bring economic benefits for future periods.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717058003472">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Stockholders' Equity - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Paid-in Capital [Member]</div></th>
<th class="th"><div>Treasury Stock [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</div></th>
<th class="th"><div>Accumulated Other Comprehensive Income (Loss) [Member]</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2022</a></td>
<td class="nump">$ 23<span></span>
</td>
<td class="nump">$ 3,222<span></span>
</td>
<td class="num">$ (9,773)<span></span>
</td>
<td class="nump">$ 59,891<span></span>
</td>
<td class="num">$ (1,900)<span></span>
</td>
<td class="nump">$ 51,463<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2022</a></td>
<td class="nump">8,293,149<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">228<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">228<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross', window );">Vesting of restricted stock units</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Vesting of restricted stock units (in shares)</a></td>
<td class="nump">17,518<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">664<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">664<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments, net of tax</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(39)<span></span>
</td>
<td class="num">(39)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Mar. 31, 2023</a></td>
<td class="nump">$ 23<span></span>
</td>
<td class="nump">3,450<span></span>
</td>
<td class="num">(9,773)<span></span>
</td>
<td class="nump">60,555<span></span>
</td>
<td class="num">(1,939)<span></span>
</td>
<td class="nump">52,316<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Mar. 31, 2023</a></td>
<td class="nump">8,310,667<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2022</a></td>
<td class="nump">$ 23<span></span>
</td>
<td class="nump">3,222<span></span>
</td>
<td class="num">(9,773)<span></span>
</td>
<td class="nump">59,891<span></span>
</td>
<td class="num">(1,900)<span></span>
</td>
<td class="nump">51,463<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2022</a></td>
<td class="nump">8,293,149<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,195<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments, net of tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(109)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Jun. 30, 2023</a></td>
<td class="nump">$ 23<span></span>
</td>
<td class="nump">3,669<span></span>
</td>
<td class="num">(9,773)<span></span>
</td>
<td class="nump">61,086<span></span>
</td>
<td class="num">(2,009)<span></span>
</td>
<td class="nump">52,996<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Jun. 30, 2023</a></td>
<td class="nump">8,332,348<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Mar. 31, 2023</a></td>
<td class="nump">$ 23<span></span>
</td>
<td class="nump">3,450<span></span>
</td>
<td class="num">(9,773)<span></span>
</td>
<td class="nump">60,555<span></span>
</td>
<td class="num">(1,939)<span></span>
</td>
<td class="nump">52,316<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Mar. 31, 2023</a></td>
<td class="nump">8,310,667<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">219<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">219<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross', window );">Vesting of restricted stock units</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Vesting of restricted stock units (in shares)</a></td>
<td class="nump">21,681<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Shares withheld for taxes and cancelled</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Shares withheld for taxes and cancelled (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValueAcquiredCostMethod', window );">Purchase of treasury stock</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockSharesAcquired', window );">Purchase of treasury stock (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">531<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">531<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments, net of tax</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(70)<span></span>
</td>
<td class="num">(70)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Jun. 30, 2023</a></td>
<td class="nump">$ 23<span></span>
</td>
<td class="nump">3,669<span></span>
</td>
<td class="num">(9,773)<span></span>
</td>
<td class="nump">61,086<span></span>
</td>
<td class="num">(2,009)<span></span>
</td>
<td class="nump">52,996<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Jun. 30, 2023</a></td>
<td class="nump">8,332,348<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2023</a></td>
<td class="nump">$ 23<span></span>
</td>
<td class="nump">3,981<span></span>
</td>
<td class="num">(9,773)<span></span>
</td>
<td class="nump">63,659<span></span>
</td>
<td class="num">(1,544)<span></span>
</td>
<td class="nump">56,346<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2023</a></td>
<td class="nump">8,399,245<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">197<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">197<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross', window );">Vesting of restricted stock units</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Vesting of restricted stock units (in shares)</a></td>
<td class="nump">2,727<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">525<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">525<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments, net of tax</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">170<span></span>
</td>
<td class="nump">170<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Mar. 31, 2024</a></td>
<td class="nump">$ 23<span></span>
</td>
<td class="nump">4,178<span></span>
</td>
<td class="num">(9,773)<span></span>
</td>
<td class="nump">64,184<span></span>
</td>
<td class="num">(1,374)<span></span>
</td>
<td class="nump">57,238<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Mar. 31, 2024</a></td>
<td class="nump">8,401,972<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2023</a></td>
<td class="nump">$ 23<span></span>
</td>
<td class="nump">3,981<span></span>
</td>
<td class="num">(9,773)<span></span>
</td>
<td class="nump">63,659<span></span>
</td>
<td class="num">(1,544)<span></span>
</td>
<td class="nump">56,346<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2023</a></td>
<td class="nump">8,399,245<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">626<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments, net of tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">210<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Jun. 30, 2024</a></td>
<td class="nump">$ 23<span></span>
</td>
<td class="nump">4,335<span></span>
</td>
<td class="num">(9,773)<span></span>
</td>
<td class="nump">64,285<span></span>
</td>
<td class="num">(1,334)<span></span>
</td>
<td class="nump">57,536<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Jun. 30, 2024</a></td>
<td class="nump">8,422,546<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Mar. 31, 2024</a></td>
<td class="nump">$ 23<span></span>
</td>
<td class="nump">4,178<span></span>
</td>
<td class="num">(9,773)<span></span>
</td>
<td class="nump">64,184<span></span>
</td>
<td class="num">(1,374)<span></span>
</td>
<td class="nump">57,238<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Mar. 31, 2024</a></td>
<td class="nump">8,401,972<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">157<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">157<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross', window );">Vesting of restricted stock units</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Vesting of restricted stock units (in shares)</a></td>
<td class="nump">20,574<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">101<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">101<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments, net of tax</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">40<span></span>
</td>
<td class="nump">40<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Jun. 30, 2024</a></td>
<td class="nump">$ 23<span></span>
</td>
<td class="nump">$ 4,335<span></span>
</td>
<td class="num">$ (9,773)<span></span>
</td>
<td class="nump">$ 64,285<span></span>
</td>
<td class="num">$ (1,334)<span></span>
</td>
<td class="nump">$ 57,536<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Jun. 30, 2024</a></td>
<td class="nump">8,422,546<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481089/718-20-55-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate value of stock related to Restricted Stock Awards issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased and retired during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedAndRetiredDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedAndRetiredDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockSharesAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and are being held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockSharesAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValueAcquiredCostMethod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValueAcquiredCostMethod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717062452160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock', window );">BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES</a></td>
<td class="text">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">1.&#160; BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Tandy Leather Factory, Inc. (&#8220;TLF,&#8221; &#8220;we,&#8221; &#8220;our,&#8221; &#8220;us,&#8221; &#8220;the Company,&#8221; &#8220;Tandy,&#8221; or &#8220;Tandy Leather&#8221; mean Tandy Leather Factory, Inc., together with its subsidiaries)<span style="font-style: italic;">&#160;</span>is one of the world&#8217;s largest specialty retailers of leather and leathercraft-related items. Founded in 1919 in Fort Worth, Texas, the Company introduced leathercrafting to millions of American and later
          Canadian and other international customers and has built a track record as the trusted source of quality leather, tools, hardware, supplies, kits and teaching materials for leatherworkers everywhere. Today, our mission remains to build on our
          legacy of inspiring the timeless art and trade of leatherworking.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">What differentiates Tandy from the competition is our high brand awareness and strong brand equity and loyalty, our network of retail stores that provides convenience,
        a high-touch customer service experience, a hub for the local leathercrafting community, and our 100-year heritage.&#160; We believe that this combination of qualities is unique to Tandy and gives the brand competitive advantages that are difficult for
        others to replicate.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We sell our products primarily through company-owned stores, through orders generated from our global websites, and through direct account representatives in our
        commercial division. We also manufacture leather lace, cut leather pieces and most of the do-it-yourself kits that are sold in our stores and on our websites.&#160; We also offer production services to our business customers such as cutting
        (&#8220;clicking&#8221;), splitting, and some assembly.&#160; We maintain our principal offices at 1900 Southeast Loop 820, Fort Worth, Texas 76140.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The Company currently operates a total of 101 retail
        stores.&#160; There are 90 stores in the United States (&#8220;U.S.&#8221;), ten stores in Canada and one store in Spain.</div>

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

<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">The Company&#8217;s common shares currently trade on the Nasdaq Capital Market under the symbol &#8220;TLF.&#8221;</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We operate as a <span style="-sec-ix-hidden:Fact_4c711008a60048a693c2d64053cf65a7"><span style="-sec-ix-hidden:Fact_2c2df6efbbb741fc9d75157cfbeaec0b">single</span></span> segment and report on a
        consolidated basis.</div>

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

<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">The accompanying unaudited Condensed Consolidated Financial Statements have been prepared in accordance with accounting principles generally accepted in the United
            States of America (&#8220;GAAP&#8221;) for interim financial information and with the instructions to Form 10-Q and Article 8 of Regulation S-X. Accordingly, they do not include all of the information and footnotes required by GAAP for annual audited
            financial statements. In the opinion of management, the accompanying unaudited Condensed Consolidated Financial Statements for Tandy Leather Factory, Inc. and its consolidated subsidiaries contain all adjustments (consisting of normal recurring
            adjustments) necessary to present fairly our financial position as of June 30, 2024 and December 31, 2023, our results of operations and our cash flows for the six months ended June 30, 2024 and 2023, and our statements of stockholders&#8217; equity
            as of and for the six months ended June 30, 2024 and 2023. The preparation of financial statements in accordance with GAAP requires the use of estimates that affect the reported value of assets, liabilities, revenues and expenses. These
            estimates are based on historical experience and various other factors that are believed to be reasonable under the circumstances, the results of which form the basis for the Company&#8217;s conclusions. The Company continually evaluates the
            information used to make these estimates as the business and the economic environment changes. Actual results may differ from these estimates, and estimates are subject to change due to modifications in the underlying conditions or assumptions.
            These unaudited Condensed Consolidated Financial Statements should be read in conjunction with the audited Consolidated Financial Statements and accompanying notes included in our Form 10-K for the year ended December 31, 2023.</div>

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

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

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Cash and cash equivalents</span></span>.&#160; The Company considers investments with a maturity when purchased of three months or less to
        be cash equivalents.&#160; All credit card, debit card and electronic transfer transactions that process in less than seven days are classified as cash and cash equivalents.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Foreign currency translation and transactions</span></span>.&#160; Foreign currency translation adjustments arise from activities of our
        foreign subsidiaries.&#160; Results of operations are translated into U.S. dollars using the average exchange rates during the period, while assets and liabilities are translated using period-end exchange rates.&#160; Foreign currency translation adjustments
        of assets and liabilities are recorded in stockholders&#8217; equity and presented net of tax.&#160; Gains and losses resulting from foreign currency translations are reported in the Condensed Consolidated Statements of Operations and Comprehensive Income
        (Loss) under the caption &#8220;Foreign currency translation adjustments, net of tax&#8221; for all periods presented.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Revenue Recognition.</span></span>&#160; Our revenue is earned from sales of merchandise and generally occurs via three methods: (1) at
        the store counter, (2) via web sales, and (3) sales of product directly to commercial customers. We recognize revenue when we satisfy the performance obligation of transferring control of product merchandise over to a customer. At the store
        counter, our performance obligation is met and revenue is recognized when a sales transaction occurs with a customer. When merchandise is shipped to a customer, our performance obligation is met, and revenue is recognized when control passes to the
        customer. Shipping terms are normally free on board (&#8220;FOB&#8221;) shipping point, and control passes when the merchandise is shipped to the customer. Sales tax and comparable foreign tax are excluded from net sales, while shipping charged to our
        customers is included in net sales. Net sales are based on the amount of consideration that we expect to receive, reduced by estimates for future merchandise returns.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The sales return allowance is based each year on historical customer return behavior and other known factors and reduces net sales and cost of sales, accordingly. The
        sales return allowance included in accrued expense and other liabilities was $0.1 million, $0.1 million, and $0.2 million as of June 30, 2024, December 31,
        2023, and January 1, 2023. The estimated value of merchandise expected to be returned included in other current assets was less than $0.1
        million as of June 30, 2024, December 31, 2023, and January 1, 2023.</div>

<div><br/></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We record a gift card liability for the unfulfilled performance obligation on the date we issue a gift card to a customer. We record revenue and reduce the gift card
        liability as the customer redeems the gift card. In addition, for gift card breakage, we recognize a proportionate amount for the expected unredeemed gift cards over the expected customer redemption period, which is one year. As of June 30, 2024, December 31, 2023 and January 1, 2023, our gift card liability, included in accrued expenses and other liabilities, was $0.1 million, $0.3 million and $0.3 million, respectively. We recognized gift card revenue of $0.2 million for the six months ended June 30, 2024 and 2023.<br/>
      </div>

<div><br/></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For the three months ended June 30, 2024 and 2023, we recognized $0.1
        million and $0.2 million respectively in net sales associated with gift cards.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For the six months ended June 30, 2024 and 2023, we recognized $0.2
        million and $0.3 million respectively in net sales associated with gift cards.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Disaggregated Revenue.</span>&#160; </span><span style="font-family: 'Times New Roman'; font-size: 10pt; color: #000000;"> In the following table, revenue for the three and six months ended June 30,
        2024 and 2023 is disaggregated by geographic areas as follows:</span></div>

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

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


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
              <div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended June 30,</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: center; font-weight: bold; vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" rowspan="1" style="text-align: center; vertical-align: bottom; font-weight: bold; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">Six Months Ended June 30,</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"><span style="font-style: italic;">(in thousands)</span></td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

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

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

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

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="text-align: center; vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"><span style="font-weight: bold;">2024 </span></td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="text-align: center; vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"><span style="font-weight: bold;">2023 </span></td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
              <div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">United States</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15,300</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15,566</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">32,386 </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">33,665 </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; white-space: nowrap;" valign="bottom">
              <div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Canada</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,737</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,591</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">3,633
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">3,498
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">Other </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">249 </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">325 </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">542 </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">679 </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
              <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">Net sales</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">17,286</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">17,482</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">36,561 </td>

    <td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">37,842 </td>

    <td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Geographic sales information is based on the location of the customer.&#160; As a percentage of our consolidated net sales, excluding Canada, our other international net
        sales were less than 2.0% for the three and six months ended June 30, 2024, and 2023 respectively.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Discounts</span></span>.&#160; We offer six
        classes of customer discounts:&#160; 1) Retail, 2) Military/First Responder, 3) Business, 4) Commercial, 5) Commercial Pro, and 6) Employees. There are no other classes of discounts, and any discounts given will fall into one of these six categories.&#160; Such discounts are not deemed to be variable consideration&#160; nor convey a material right to these customers since the discounted pricing
        they receive in a discount class is not incremental to others within the same class and there is no retrospective impact of such discounts.&#160; As a result, sales are reported after deduction of discounts at the point of sale.&#160; We do not pay slotting
        fees or make other payments to resellers.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Operating</span></span><span style="text-decoration: underline;">&#160;</span><span style="font-style: italic;"><span style="text-decoration: underline;">expenses</span></span>.&#160; Operating expenses include all selling,
        general and administrative costs, including wages and benefits, rent and occupancy costs, depreciation, advertising, store operating expenses, outbound freight charges (to ship merchandise to customers), and corporate office costs.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Property and equipment, net of accumulated depreciation</span></span>.&#160; Property and equipment are stated at cost.&#160; Depreciation is
        computed using the straight-line method over the estimated useful lives of the assets, which are <span style="-sec-ix-hidden:Fact_f6f6e0f9d99e4a14a6efa773cccc6372">three</span> to ten years for equipment and machinery, <span style="-sec-ix-hidden:Fact_4b51686560af46539f10d61548e34c47">seven</span>
        to fifteen years for furniture and fixtures, five years for vehicles, and forty years for buildings and related improvements.&#160; Leasehold
        improvements are amortized over the lesser of the life of the lease or the useful life of the asset.&#160; Repairs and maintenance costs are expensed as incurred but are capitalized if extend the life of the assets.</div>

<div><br/>
      </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Inventory</span></span>.&#160; Inventory is stated at the lower of first-in, first-out (&#8220;FIFO&#8221;) cost or net realizable value, and FIFO
        layers are maintained at the location level. Finished goods held for sale include the cost of merchandise purchases, the costs to bring the merchandise to our Texas distribution center, warehousing and handling expenditures, and distributing and
        delivering merchandise to our stores.&#160; These costs include depreciation of long-lived assets utilized in acquiring, warehousing and distributing inventory. Manufacturing inventory including raw materials and work-in-process is valued on a first in,
        first out basis using full absorption accounting which includes material, labor, and other applicable manufacturing overhead.&#160; Carrying values of inventory are analyzed and, to the extent that the cost of inventory exceeds the net realizable value,
        provisions are made to reduce the carrying amount of the inventory.</div>

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

<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">We regularly review all inventory items to determine if there are (i) damaged goods (e.g., for leather, excessive scars or damage from ultra-violet (&#8220;UV&#8221;) light), (ii)
        items that need to be removed from our product line (e.g., slow-moving items, inability of a supplier to provide items of acceptable quality or quantity, and to maintain freshness in the product line) and (iii) pricing actions that need to be taken
        to adequately value our inventory at the lower of cost or net realizable value. </div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Since the determination of net realizable value of inventory involves both estimation and judgement with regard to market values and reasonable costs to sell,
        differences in these estimates could result in ultimate valuations that differ from the recorded asset. </div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The majority of inventory purchases and commitments are made in U.S. dollars in order to limit the Company&#8217;s exposure to foreign currency fluctuations.&#160; Goods shipped
        to us are recorded as inventory owned by us when the risk of loss shifts to us from the supplier.<span style="color: rgb(0, 0, 0);"> &#160;</span></div>

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

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Inventory is physically counted partially during each quarter and fully at year-end in the Texas distribution center.&#160; At the store level,
        inventory is partially counted each quarter for high value items and fully at year-end. <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Inventory is then adjusted in our accounting system to reflect actual count results.&#160;&#160;</span></div>

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

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


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">June 30, 2024</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">On hand:</div>
            </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
              <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Finished goods held for sale</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">32,640</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">33,350</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
              <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Raw materials and work in process</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">1,358</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">1,774</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Inventory in transit</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">3,193</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">2,869</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-weight: bold;">TOTAL</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">37,191</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">37,993</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Leases</span></span>.&#160; We lease real estate for our retail store locations and may lease warehouse equipment for our Texas
        distribution center under long-term lease agreements; &#160; however, as of the end of June 30, 2023, we acquired the warehouse equipment and it is now a part of our fixed assets. We determine if an arrangement is a lease at inception and recognize
        right-of-use (&#8220;ROU&#8221;) assets and lease liabilities at commencement date based on the present value of the lease payments over the lease term.<span style="color: rgb(0, 0, 0);">&#160; We elected not to record leases with an initial term of 12 months or
          less on the balance sheet for all our asset classes.</span></div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For operating leases, the present value of our lease liabilities may include: (1) rental payments adjusted for inflation or market rates, and (2) lease terms with
        options to renew the lease or options to purchase leased equipment, when it is reasonably certain we will exercise such an option.&#160; The exercise of lease renewal or purchase option is generally at our discretion.&#160; Payments based on a change in an
        index or market rate are not considered in the determination of lease payments for purposes of measuring the related lease liability.&#160; We discount lease payments using our incremental borrowing rate based on information available as of the
        measurement date.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We recognize rent expense related to our operating leases assets on a straight-line basis over the lease term. Rent expense is recorded in operating expenses.<br/>
      </div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For finance leases, our right-of-use assets are amortized on a straight-line basis over the earlier of the useful life of the right-of-use asset or the end of the
        lease term with rent expense recorded to operating expenses.&#160; We adjust the lease liability to reflect lease payments made during the period and interest incurred on the lease liability using the effective interest method. The interest expense
        incurred is recorded in interest expense on the Condensed Consolidated Statements of Operations and Comprehensive Income.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The depreciable life of related leasehold improvements is based on the shorter of the useful life or the lease term.&#160; We also perform interim reviews of our lease
        assets for impairment when evidence exists that the carrying value of an asset group, including a lease asset, may not be recoverable. None of our lease agreements contain contingent rental payments, material residual value guarantees or material
        restrictive covenants.&#160; We have no sublease agreements and no lease agreements in which we are named as a lessor.<br/>
      </div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Impairment of Long-Lived Assets</span></span>.&#160; We evaluate long-lived assets on a quarterly basis to identify events or changes in
        circumstances (&#8220;triggering events&#8221;) that indicate the carrying value of certain assets&#160;may&#160;not&#160;be recoverable.&#160; Upon the occurrence of a triggering event, ROU lease assets, property and equipment and definite-lived intangible assets are reviewed
        for impairment and an impairment loss is recorded in the period in which it is determined that the carrying amount of the assets is&#160;not&#160;recoverable.&#160; The determination of recoverability is made based upon the estimated undiscounted future net cash
        flows of assets grouped at the lowest level for which there are identifiable cash flows independent of the cash flows of other groups of assets with such cash flows to be realized over the estimated remaining useful life of the primary asset within
        the asset group.&#160; The Company determined the lowest level of identifiable cash flows that are independent of other asset groups to be primarily at the individual store level.&#160; If the estimated undiscounted future net cash flows for a given store
        are less than the carrying amount of the related store assets, an impairment loss is determined by comparing the estimated fair value with the carrying value of the related assets.&#160; The impairment loss is then allocated across the asset group&#8217;s
        major classifications which in this case are operating lease assets and property and equipment.&#160; Triggering events at the store level could include material declines in operational and financial performance or planned changes in the use of assets,
        such as store relocation or store closure.&#160; This evaluation requires management to make judgements relating to future cash flows, growth rates and economic and market conditions.&#160; The fair value of an asset group is estimated using a discounted
        cash flow valuation method.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Fair Value of Financial Instruments</span></span>.&#160; We measure fair value as an exit price, which is the amount that would be
        received to sell an asset or paid to transfer a liability in an orderly transaction between market participants.&#160; As a basis for considering such assumptions, accounting standards establish a three-tier fair value hierarchy, which prioritizes the
        inputs used in the valuation methodologies in measuring fair value:</div>

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

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


  <tr>

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

    <td style="width: 36pt; vertical-align: top;">
                <div style="margin-left: 18pt;">&#8226;</div>
              </td>

    <td style="width: auto; vertical-align: top;">
                <div style="text-align: justify;">Level 1 &#8211; observable inputs that reflect quoted prices in active markets for identical assets or liabilities.</div>
              </td>

  </tr>


</table>
      </div>

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

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


  <tr>

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

    <td style="width: 36pt; vertical-align: top;">
                <div style="margin-left: 18pt;">&#8226;</div>
              </td>

    <td style="width: auto; vertical-align: top;">
                <div style="text-align: justify;">Level 2 &#8211; significant observable inputs other than quoted prices in active markets for similar assets and liabilities, such as quoted prices for identical or similar assets or liabilities in markets that
                  are not active; or other inputs that are observable or can be corroborated by observable market data.</div>
              </td>

  </tr>


</table>
      </div>

<div><br/></div>

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


  <tr>

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

    <td style="width: 36pt; vertical-align: top;">
                <div style="margin-left: 18pt;">&#8226;</div>
              </td>

    <td style="width: auto; vertical-align: top;">
                <div style="text-align: justify;">Level 3 &#8211; significant unobservable inputs reflecting our own assumptions, consistent with reasonably available assumptions made by other market participants.</div>
              </td>

  </tr>


</table>
        <div style="font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>

      </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Classification of the financial asset or liability within the hierarchy is determined based on the lowest level input that is significant to the fair value
        measurement.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Our principal financial instruments held consist of T-Bills as of June 30, 2024 and December 31, 2023 which fall under level 1 of the fair value hierarchy; accounts
          receivable - trade, accounts payable - trade, as of June 30, 2024 and December 31, 2023, all of which fall under Level 3 of the fair value hierarchy.&#160; As of June 30, 2024 and December 31, 2023, the carrying values of our financial instruments
          included in our Consolidated Balance Sheets approximated their fair values.&#160; There were no transfers into or out of Levels 1, 2
          and 3 during the six months ended June 30, 2024 and 2023.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Income Taxes</span></span>.&#160; Income taxes are estimated for each jurisdiction in which we operate.&#160;&#160;This involves assessing current
        tax exposure together with temporary differences resulting from differing treatment of items for tax and financial statement accounting purposes.&#160;&#160;Any resulting deferred tax assets are evaluated for recoverability based on estimated future taxable
        income.&#160;&#160;To the extent it is more-likely-than-not that all or a portion of a deferred tax asset will not be realized, a valuation allowance is recorded.&#160; Our evaluation regarding whether a valuation allowance is required or should be adjusted also
        considers, among other things, the nature, frequency, and severity of recent losses, forecasts of future profitability and the duration of statutory carryforward periods.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Deferred tax assets and liabilities are measured using the enacted tax rates in effect in the years when those temporary differences are expected to reverse.&#160; The
        effect on deferred taxes from a change in tax rate is recognized through continuing operations in the period that includes the enactment date of the change.&#160; Changes in tax laws and rates could affect recorded deferred tax assets and liabilities in
        the future.</div>

<div><br/></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">A tax benefit from an uncertain tax position may be recognized when it is more-likely-than-not that the position will be sustained upon examination, including
        resolutions of any related appeals or litigation processes, based on the technical merits.&#160; Income tax positions must meet a more-likely-than-not recognition threshold to be recognized.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We recognize tax liabilities for uncertain tax positions and adjust these liabilities when our judgement changes as a result of the evaluation of new information not
        previously available.&#160; Due to the complexity of some of these uncertainties, the ultimate resolution may result in a payment that is materially different from the current estimate of the tax liabilities.&#160; These differences will be reflected as
        increases or decreases to income tax expense and the effective tax rate in the period in which new information becomes available.&#160; We recognize interest and/or penalties related to all tax positions in income tax expense. To the extent that accrued
        interest and penalties do not ultimately become payable, amounts accrued will be reduced and reflected as a reduction of the overall income tax provision in the period that such determination is made.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We may be subject to periodic audits by the Internal Revenue Service and other taxing authorities.&#160; These audits may challenge certain of our tax positions, such as
        the timing and amount of deductions and allocation of taxable income to the various jurisdictions.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Stock-based compensation</span></span>.&#160; The Company&#8217;s stock-based compensation relates primarily to restricted stock unit (&#8220;RSU&#8221;)
        awards.&#160; Accounting guidance requires measurement and recognition of compensation expense at an amount equal to the grant date fair value.&#160; Compensation expense is recognized for service-based stock awards on a straight-line basis or ratably over
        the requisite service period, based on the closing price of the Company&#8217;s stock on the date of grant.&#160; The service-based awards typically vest ratably over the requisite service period, provided that the participant is employed on the vesting
        date.&#160; Compensation expense is reduced by actual forfeitures as they occur over the requisite service period of the awards.</div>

<div><br/></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Performance-based RSUs vest, if at all, upon the Company satisfying certain performance targets.&#160; The Company records compensation expense for awards with a
        performance condition when it is probable that the condition will be achieved.&#160; If the Company determines it is not probable a performance condition will be achieved, no compensation expense is recognized.&#160; If the Company changes its assessment in
        a subsequent period and concludes it is probable a performance condition will be achieved, the Company will recognize compensation expense ratably between the period of the change in assessment through the expected date of satisfying the
        performance condition for vesting.&#160; If the Company subsequently assesses that it is no longer probable that a performance condition will be achieved, the accumulated expense that has been previously recognized will be reversed.&#160; The compensation
        expense ultimately recognized, if any, related to performance-based awards will equal the grant date fair value based on the number of shares for which the performance condition has been satisfied.&#160; We issue shares from authorized shares upon the
        lapsing of vesting restrictions on RSUs.&#160; We do not use cash to settle equity instruments issued under stock-based compensation awards. The payments of the employees&#8217; tax liability for a portion of the vested shares are satisfied by withholding
        shares with a fair value equal to the tax liability.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Accounts Receivable - Trade and Expected Credit Losses</span></span>.&#160; Our receivables primarily arise from the sale of merchandise
        to customers that have applied for and been granted credit.&#160; Accounts receivable are stated at amounts due, net of an allowance.&#160; Accounts receivable are generally due within 30 days of invoicing.&#160; We estimate expected credit losses based on
        factors such as the composition of accounts receivable, the age of the accounts, historical bad debt experience, and our evaluation of the financial condition and past collection history of each customer.&#160; Management believes that the historical
        loss information it has compiled is a reasonable base on which to determine expected credit losses for trade receivables held at June 30, 2024, because the composition of the trade receivables at that date is consistent with that used in developing
        the historical credit-loss percentages (i.e., the similar risk characteristics of its customers and its credit practices have not changed significantly over time).&#160; Accordingly, the allowance for expected credit losses at June 30, 2024, December
        31, 2023, and January 1, 2023 each totaled less than $0.1 million.</div>

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

<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"><span style="font-style: italic;"><span style="text-decoration: underline;">Other Intangible Assets</span></span>.&#160; Our intangible assets and related accumulated amortization relate to trademarks and
        copyrights that are definite-lived intangibles and are subject to amortization.&#160; The weighted average amortization period is 15 years
        for trademarks and copyrights.&#160; Amortization expense related to other intangible assets was less than $0.01 million during each of
        the six months ended June 30, 2024 and 2023.&#160; Based on the current amount of intangible assets subject to amortization, we estimate amortization expense to be less than $0.01 million annually over the next five years. Our &#8220;Other intangible assets&#8221; is fully amortized as of June 30 2024.  </div>

<div><br/>
      </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Comprehensive Income</span></span>.&#160; Comprehensive income includes net income and certain other items that are recorded directly to
        stockholders&#8217; equity.&#160; The Company&#8217;s only source of other comprehensive income is foreign currency translation adjustments, and those adjustments are presented net of tax.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717062378176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NOTES PAYABLE AND LONG-TERM DEBT<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>NOTES PAYABLE AND LONG-TERM DEBT [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">NOTES PAYABLE AND LONG-TERM DEBT</a></td>
<td class="text">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">2. NOTES PAYABLE AND LONG-TERM DEBT</div>

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

<div style="text-align: justify;"> <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;">On
          January 3, 2023, the Company entered into a credit agreement (the &#8220;Credit Agreement&#8221;) with JPMorgan Chase Bank, N.A.&#160; Under the Credit Agreement, the bank will provide the Company a credit facility of up to $5,000,000 on standard terms and conditions, including affirmative and negative covenants set forth in the Credit Agreement.&#160; As security for the
          credit facility, the Company has pledged as collateral certain of its assets, including the Company&#8217;s cash in deposit accounts, inventory and equipment.&#160; As of the date of this filing, no funds had been borrowed under this facility.</span>  <br/>
      </div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/470/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1C<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1C<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1C<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1I<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1I<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717067216656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAX<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>INCOME TAX [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">INCOME TAX</a></td>
<td class="text">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">3.&#160; INCOME TAX</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Our effective tax rate for the three months ended June 30, 2024 and 2023 was 32.9% and 32.9%, respectively.&#160; Our<span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; 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: justify; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"> effective
            tax rate for the six months ended June 30, 2023 and 2022 was 26.9% and 31.1%, respectively. Our</span> effective tax rate differs from the federal statutory rate primarily due to U.S. state income tax expense, expenses that are nondeductible
          for tax purposes, the change in our valuation allowance associated with our deferred tax assets, and differences in tax rates in foreign jurisdictions.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477891/740-270-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-13<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/740/tableOfContent<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-14<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-21<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717062422416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>STOCK-BASED COMPENSATION [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">STOCK-BASED COMPENSATION</a></td>
<td class="text">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">4.&#160; STOCK-BASED
          COMPENSATION</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The Tandy Leather Factory, Inc. 2013 Restricted Stock Plan (the &#8220;2013 Plan&#8221;) was adopted by our Board of Directors in January 2013 and approved by our stockholders
          in June 2013.&#160; The 2013 Plan initially reserved up to 300,000 shares for restricted stock and restricted stock unit (&#8220;RSU&#8221;) awards to
          our executive officers, non-employee directors and other key employees.&#160; In June 2020, our stockholders approved an increase to the plan reserve to 800,000
          shares of our common stock and extended the 2013 Plan to June 2023. Awards granted under the 2013 Plan may be service-based awards or performance-based awards, and may be subject to a graded vesting schedule with a minimum vesting period of four years, unless otherwise determined by the Compensation Committee of the Board of Directors that administers the plan. All shares remaining
          ungranted under the 2013 Plan were cancelled upon the adoption of the 2023 Plan described below.<br/>
        </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
          <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; 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;">The Tandy Leather Factory, Inc. 2023 Incentive Stock Plan (the &#8220;2023
            Plan&#8221; and, together with the 2013 Plan, the &#8220;Plans&#8221;) was adopted by our Board of Directors in April 2023 and approved by our stockholders in June 2023. The 2023 Plan initially reserved up to 800,000 shares of our common stock for a variety of equity awards (including, but not limited to, RSUs, the only type of awards that have been granted to date) to our
            executive officers, non-employee directors and other key employees. <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;">In June 2023, as part of their annual director compensation, certain of our non-employee directors were granted a total of 12,993 service-based RSUs under the 2023 Plan, which will vest ratably over the next four years,
              subject to each participant&#8217;s continued service on the board as of each vesting date. </span></span><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;">In October 2023, the Company granted to Ms. Carr a total of 276,000
            service-based RSUs under the 2023 Plan, which will vest ratably over the next three years, subject to Ms. Carr&#8217;s continued
            employment as of each vesting date.&#160; In March 2024, the Company granted to certain employees other than Ms. Carr a total of 59,649
            RSUs under the 2023 Plan, which will vest ratably over the next three years, subject to the recipients&#8217; continued employment as of
            each vesting date. In June 2024, the Company granted 14,000 shares to various members of the Board of Directors, which will vest
            ratably over the next four years.</span> </div>

<div><br/>

        </div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;">A summary of the activity for non-vested restricted stock and RSU awards as of June 30, 2024 is presented below: </span></div>

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

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


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Shares</div>
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">(in thousands)</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Weighted</div>
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Average</div>
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Share Price </div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="text-align: left; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="text-align: left; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Balance, January 1, 2024</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">623</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">5.12</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Granted</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">74</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">0.85</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">Forfeited </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">(6</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">)</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">5.00<br/>
                </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Vested</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">23</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);"></div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">4.73</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-weight: bold;">Balance, <span style="text-indent: 0pt;">June 30</span>, <span style="text-indent: 0pt;">2024</span></div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">714</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">4.38</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The Company&#8217;s stock-based compensation relates primarily to RSU awards.&#160; <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; 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: justify; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">For these service-based
              awards, our stock-based compensation expense, included in operating expenses, was $0.2 million and $0.2 million for the three months and $0.4
              million and $0.4 million for the six months ended June 30, 2024 and 2023, respectively.</span></div>

<div><br/></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">As of June 30, 2024, the Company has concluded it is not probable that the performance conditions related to performance-based RSUs granted to our CEO in October
            2018 will be achieved, and as a result no compensation expense related to performance-based RSUs has been recorded.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">As of June 30, 2024, there was unrecognized compensation cost related to non-vested, service-based RSU awards of $1.4 million, which will be recognized in each of the following years (dollars in thousands):</div>

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

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


  <tr>

    <td rowspan="1" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-style: normal; font-weight: bold; text-align: center;">Unrecognized Expense</div>
                </td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; text-align: left; width: 88%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); text-align: center;">2024</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">324</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; text-align: left; width: 88%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); text-align: center;">2025</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">564</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; text-align: left; width: 88%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); text-align: center;">2026</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">419</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; text-align: left; width: 88%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); text-align: center;">2027</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">37</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; text-align: center; width: 88%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">2028<br/>
                </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">6</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; text-align: left; width: 88%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"></td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">1,350</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We issue shares from authorized shares upon the lapsing of vesting restrictions on restricted stock and RSUs.&#160; For the six months ended June 30, 2024 and 2023, we
            issued 23,301 and 39,199
            shares, respectively, resulting from the vesting of RSUs. We do not use cash to settle equity instruments issued under stock-based compensation awards. The payment of the employees&#8217; tax liability for a portion of the vested shares may be
            satisfied by withholding shares with a fair value equal to the tax liability.<br/>
          </div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/718/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717065521920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>EARNINGS PER SHARE<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>EARNINGS PER SHARE [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">EARNINGS PER SHARE</a></td>
<td class="text">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">5.&#160; EARNINGS PER SHARE</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Basic earnings per share (&#8220;EPS&#8221;) are computed based on the weighted average number of common shares outstanding during the period.&#160; Diluted EPS includes additional
          common shares that would have been outstanding if potential common shares with a dilutive effect, such as stock awards from the Company&#8217;s restricted stock plan, had been issued.&#160; Anti-dilutive securities represent potentially dilutive securities
          which are excluded from the computation of diluted EPS as their impact would be anti-dilutive.&#160; Diluted EPS is computed using the treasury stock method.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The following table sets forth the computation of basic and diluted EPS for the three and six months ended June 30, 2024 and 2023:</div>

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

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


  <tr>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Three Months Ended June 30,</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="6" rowspan="1" style="vertical-align: bottom; text-align: center; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"><span style="font-weight: bold;">Six Months Ended June 30,</span><br/>
                </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-style: italic;">(in thousands, except share data)</div>
                </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; border-bottom: #000000 solid 2px;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;">2024<br/>
                  </div>
                </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; border-bottom: #000000 solid 2px;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;">2023<br/>
                  </div>
                </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; border-bottom: #000000 solid 2px;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;">2024<br/>
                  </div>
                </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;">2023<br/>
                  </div>
                </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; font-weight: bold;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; font-weight: bold;" valign="bottom">Numerator:</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
                  <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Net income <br/>
                  </div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">101</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">531</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">626</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">1,195</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

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

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-weight: bold;">Denominator:</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); text-indent: -9pt; margin-left: 9pt;">Basic weighted-average common shares outstanding</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">8,415,795</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">8,327,178</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">8,406,156</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">8,315,214</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
                  <div style="text-indent: -9pt; margin-left: 9pt;">Dilutive effect of service-based restricted stock awards granted to Board of Directors under the Plan<br/>
                  </div>
                </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">8,330</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">7,156</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">596</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">367</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 52%; padding-bottom: 2px;" valign="bottom">
                  <div style="text-indent: -9pt; margin-left: 9pt;">Dilutive effect of service-based restricted stock awards granted to employees under the Plan<br/>
                  </div>
                </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">80,943<br/>
                </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">32,570<br/>
                </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">60,404<br/>
                </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">14,388<br/>
                </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); text-indent: -9pt; margin-left: 9pt;">Diluted weighted-average common shares outstanding</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">8,505,068</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">8,366,904</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">8,467,156</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">8,329,969</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 52%;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
                  <div style="text-indent: -9pt; margin-left: 9pt;">Basic earnings per share <br/>
                  </div>
                </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"><br/>
                </td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">0.01</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"><br/>
                </td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">0.06</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">0.07</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">0.14</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 52%; padding-bottom: 4px;" valign="bottom">
                  <div style="margin-left: 9pt; text-indent: -9pt;">Diluted earnings per share <br/>
                  </div>
                </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"><br/>
                </td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">0.01</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"><br/>
                </td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">0.06</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">0.07</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">0.14</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/260/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717067174544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>COMMITMENTS AND CONTINGENCIES [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">COMMITMENTS AND CONTINGENCIES</a></td>
<td class="text">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">6.&#160; COMMITMENTS AND CONTINGENCIES</div>

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

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

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We are periodically involved in litigation that arises in the ordinary course of business and operations.&#160; There are no such matters pending that we expect to have a
          material impact on our financial position or operating results.&#160; Legal costs associated with the resolution of claims, lawsuits and other contingencies are expensed as incurred.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 405<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/405-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482648/440-10-50-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/450/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478522/954-440-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482648/440-10-50-4<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717064854960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract', window );"><strong>SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock', window );">SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES</a></td>
<td class="text">
<div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;">7.&#160; SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">On August 8, 2022, the Board of Directors approved a new program to repurchase up to $5.0 million of the Company&#8217;s common stock between that date and August 31, 2024.&#160; As of June 30, 2024, $5.0 million remained available for repurchase under this new program.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tlfa_SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the share repurchase program and share repurchases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717162171136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES (Policies)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and cash equivalents</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Cash and cash equivalents</span></span>.&#160; The Company considers investments with a maturity when purchased of three months or less to
        be cash equivalents.&#160; All credit card, debit card and electronic transfer transactions that process in less than seven days are classified as cash and cash equivalents.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign currency translation and transactions</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Foreign currency translation and transactions</span></span>.&#160; Foreign currency translation adjustments arise from activities of our
        foreign subsidiaries.&#160; Results of operations are translated into U.S. dollars using the average exchange rates during the period, while assets and liabilities are translated using period-end exchange rates.&#160; Foreign currency translation adjustments
        of assets and liabilities are recorded in stockholders&#8217; equity and presented net of tax.&#160; Gains and losses resulting from foreign currency translations are reported in the Condensed Consolidated Statements of Operations and Comprehensive Income
        (Loss) under the caption &#8220;Foreign currency translation adjustments, net of tax&#8221; for all periods presented.</div>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Revenue Recognition.</span></span>&#160; Our revenue is earned from sales of merchandise and generally occurs via three methods: (1) at
        the store counter, (2) via web sales, and (3) sales of product directly to commercial customers. We recognize revenue when we satisfy the performance obligation of transferring control of product merchandise over to a customer. At the store
        counter, our performance obligation is met and revenue is recognized when a sales transaction occurs with a customer. When merchandise is shipped to a customer, our performance obligation is met, and revenue is recognized when control passes to the
        customer. Shipping terms are normally free on board (&#8220;FOB&#8221;) shipping point, and control passes when the merchandise is shipped to the customer. Sales tax and comparable foreign tax are excluded from net sales, while shipping charged to our
        customers is included in net sales. Net sales are based on the amount of consideration that we expect to receive, reduced by estimates for future merchandise returns.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The sales return allowance is based each year on historical customer return behavior and other known factors and reduces net sales and cost of sales, accordingly. The
        sales return allowance included in accrued expense and other liabilities was $0.1 million, $0.1 million, and $0.2 million as of June 30, 2024, December 31,
        2023, and January 1, 2023. The estimated value of merchandise expected to be returned included in other current assets was less than $0.1
        million as of June 30, 2024, December 31, 2023, and January 1, 2023.</div>

<div><br/></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We record a gift card liability for the unfulfilled performance obligation on the date we issue a gift card to a customer. We record revenue and reduce the gift card
        liability as the customer redeems the gift card. In addition, for gift card breakage, we recognize a proportionate amount for the expected unredeemed gift cards over the expected customer redemption period, which is one year. As of June 30, 2024, December 31, 2023 and January 1, 2023, our gift card liability, included in accrued expenses and other liabilities, was $0.1 million, $0.3 million and $0.3 million, respectively. We recognized gift card revenue of $0.2 million for the six months ended June 30, 2024 and 2023.<br/>
      </div>

<div><br/></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For the three months ended June 30, 2024 and 2023, we recognized $0.1
        million and $0.2 million respectively in net sales associated with gift cards.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For the six months ended June 30, 2024 and 2023, we recognized $0.2
        million and $0.3 million respectively in net sales associated with gift cards.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Disaggregated Revenue.</span>&#160; </span><span style="font-family: 'Times New Roman'; font-size: 10pt; color: #000000;"> In the following table, revenue for the three and six months ended June 30,
        2024 and 2023 is disaggregated by geographic areas as follows:</span></div>

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

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


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
              <div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended June 30,</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: center; font-weight: bold; vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" rowspan="1" style="text-align: center; vertical-align: bottom; font-weight: bold; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">Six Months Ended June 30,</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"><span style="font-style: italic;">(in thousands)</span></td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

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

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

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

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="text-align: center; vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"><span style="font-weight: bold;">2024 </span></td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="text-align: center; vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"><span style="font-weight: bold;">2023 </span></td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
              <div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">United States</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15,300</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15,566</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">32,386 </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">33,665 </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; white-space: nowrap;" valign="bottom">
              <div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Canada</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,737</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,591</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">3,633
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">3,498
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">Other </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">249 </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">325 </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">542 </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">679 </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
              <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">Net sales</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">17,286</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">17,482</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">36,561 </td>

    <td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">37,842 </td>

    <td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Geographic sales information is based on the location of the customer.&#160; As a percentage of our consolidated net sales, excluding Canada, our other international net
        sales were less than 2.0% for the three and six months ended June 30, 2024, and 2023 respectively.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_RevenueRecognitionDiscountsPolicyTextBlock', window );">Discounts</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Discounts</span></span>.&#160; We offer six
        classes of customer discounts:&#160; 1) Retail, 2) Military/First Responder, 3) Business, 4) Commercial, 5) Commercial Pro, and 6) Employees. There are no other classes of discounts, and any discounts given will fall into one of these six categories.&#160; Such discounts are not deemed to be variable consideration&#160; nor convey a material right to these customers since the discounted pricing
        they receive in a discount class is not incremental to others within the same class and there is no retrospective impact of such discounts.&#160; As a result, sales are reported after deduction of discounts at the point of sale.&#160; We do not pay slotting
        fees or make other payments to resellers.</div>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock', window );">Operating expenses</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Operating</span></span><span style="text-decoration: underline;">&#160;</span><span style="font-style: italic;"><span style="text-decoration: underline;">expenses</span></span>.&#160; Operating expenses include all selling,
        general and administrative costs, including wages and benefits, rent and occupancy costs, depreciation, advertising, store operating expenses, outbound freight charges (to ship merchandise to customers), and corporate office costs.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property and equipment, net of accumulated depreciation</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Property and equipment, net of accumulated depreciation</span></span>.&#160; Property and equipment are stated at cost.&#160; Depreciation is
        computed using the straight-line method over the estimated useful lives of the assets, which are <span style="-sec-ix-hidden:Fact_f6f6e0f9d99e4a14a6efa773cccc6372">three</span> to ten years for equipment and machinery, <span style="-sec-ix-hidden:Fact_4b51686560af46539f10d61548e34c47">seven</span>
        to fifteen years for furniture and fixtures, five years for vehicles, and forty years for buildings and related improvements.&#160; Leasehold
        improvements are amortized over the lesser of the life of the lease or the useful life of the asset.&#160; Repairs and maintenance costs are expensed as incurred but are capitalized if extend the life of the assets.</div>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventory</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Inventory</span></span>.&#160; Inventory is stated at the lower of first-in, first-out (&#8220;FIFO&#8221;) cost or net realizable value, and FIFO
        layers are maintained at the location level. Finished goods held for sale include the cost of merchandise purchases, the costs to bring the merchandise to our Texas distribution center, warehousing and handling expenditures, and distributing and
        delivering merchandise to our stores.&#160; These costs include depreciation of long-lived assets utilized in acquiring, warehousing and distributing inventory. Manufacturing inventory including raw materials and work-in-process is valued on a first in,
        first out basis using full absorption accounting which includes material, labor, and other applicable manufacturing overhead.&#160; Carrying values of inventory are analyzed and, to the extent that the cost of inventory exceeds the net realizable value,
        provisions are made to reduce the carrying amount of the inventory.</div>

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

<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">We regularly review all inventory items to determine if there are (i) damaged goods (e.g., for leather, excessive scars or damage from ultra-violet (&#8220;UV&#8221;) light), (ii)
        items that need to be removed from our product line (e.g., slow-moving items, inability of a supplier to provide items of acceptable quality or quantity, and to maintain freshness in the product line) and (iii) pricing actions that need to be taken
        to adequately value our inventory at the lower of cost or net realizable value. </div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Since the determination of net realizable value of inventory involves both estimation and judgement with regard to market values and reasonable costs to sell,
        differences in these estimates could result in ultimate valuations that differ from the recorded asset. </div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The majority of inventory purchases and commitments are made in U.S. dollars in order to limit the Company&#8217;s exposure to foreign currency fluctuations.&#160; Goods shipped
        to us are recorded as inventory owned by us when the risk of loss shifts to us from the supplier.<span style="color: rgb(0, 0, 0);"> &#160;</span></div>

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

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Inventory is physically counted partially during each quarter and fully at year-end in the Texas distribution center.&#160; At the store level,
        inventory is partially counted each quarter for high value items and fully at year-end. <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Inventory is then adjusted in our accounting system to reflect actual count results.&#160;&#160;</span></div>

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

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


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">June 30, 2024</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">On hand:</div>
            </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
              <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Finished goods held for sale</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">32,640</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">33,350</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
              <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Raw materials and work in process</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">1,358</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">1,774</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Inventory in transit</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">3,193</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">2,869</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-weight: bold;">TOTAL</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">37,191</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">37,993</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeasesPolicyTextBlock', window );">Leases</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Leases</span></span>.&#160; We lease real estate for our retail store locations and may lease warehouse equipment for our Texas
        distribution center under long-term lease agreements; &#160; however, as of the end of June 30, 2023, we acquired the warehouse equipment and it is now a part of our fixed assets. We determine if an arrangement is a lease at inception and recognize
        right-of-use (&#8220;ROU&#8221;) assets and lease liabilities at commencement date based on the present value of the lease payments over the lease term.<span style="color: rgb(0, 0, 0);">&#160; We elected not to record leases with an initial term of 12 months or
          less on the balance sheet for all our asset classes.</span></div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For operating leases, the present value of our lease liabilities may include: (1) rental payments adjusted for inflation or market rates, and (2) lease terms with
        options to renew the lease or options to purchase leased equipment, when it is reasonably certain we will exercise such an option.&#160; The exercise of lease renewal or purchase option is generally at our discretion.&#160; Payments based on a change in an
        index or market rate are not considered in the determination of lease payments for purposes of measuring the related lease liability.&#160; We discount lease payments using our incremental borrowing rate based on information available as of the
        measurement date.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We recognize rent expense related to our operating leases assets on a straight-line basis over the lease term. Rent expense is recorded in operating expenses.<br/>
      </div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For finance leases, our right-of-use assets are amortized on a straight-line basis over the earlier of the useful life of the right-of-use asset or the end of the
        lease term with rent expense recorded to operating expenses.&#160; We adjust the lease liability to reflect lease payments made during the period and interest incurred on the lease liability using the effective interest method. The interest expense
        incurred is recorded in interest expense on the Condensed Consolidated Statements of Operations and Comprehensive Income.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The depreciable life of related leasehold improvements is based on the shorter of the useful life or the lease term.&#160; We also perform interim reviews of our lease
        assets for impairment when evidence exists that the carrying value of an asset group, including a lease asset, may not be recoverable. None of our lease agreements contain contingent rental payments, material residual value guarantees or material
        restrictive covenants.&#160; We have no sublease agreements and no lease agreements in which we are named as a lessor.<br/>
      </div>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Impairment of Long-Lived Assets</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Impairment of Long-Lived Assets</span></span>.&#160; We evaluate long-lived assets on a quarterly basis to identify events or changes in
        circumstances (&#8220;triggering events&#8221;) that indicate the carrying value of certain assets&#160;may&#160;not&#160;be recoverable.&#160; Upon the occurrence of a triggering event, ROU lease assets, property and equipment and definite-lived intangible assets are reviewed
        for impairment and an impairment loss is recorded in the period in which it is determined that the carrying amount of the assets is&#160;not&#160;recoverable.&#160; The determination of recoverability is made based upon the estimated undiscounted future net cash
        flows of assets grouped at the lowest level for which there are identifiable cash flows independent of the cash flows of other groups of assets with such cash flows to be realized over the estimated remaining useful life of the primary asset within
        the asset group.&#160; The Company determined the lowest level of identifiable cash flows that are independent of other asset groups to be primarily at the individual store level.&#160; If the estimated undiscounted future net cash flows for a given store
        are less than the carrying amount of the related store assets, an impairment loss is determined by comparing the estimated fair value with the carrying value of the related assets.&#160; The impairment loss is then allocated across the asset group&#8217;s
        major classifications which in this case are operating lease assets and property and equipment.&#160; Triggering events at the store level could include material declines in operational and financial performance or planned changes in the use of assets,
        such as store relocation or store closure.&#160; This evaluation requires management to make judgements relating to future cash flows, growth rates and economic and market conditions.&#160; The fair value of an asset group is estimated using a discounted
        cash flow valuation method.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueOfFinancialInstrumentsPolicy', window );">Fair Value of Financial Instruments</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Fair Value of Financial Instruments</span></span>.&#160; We measure fair value as an exit price, which is the amount that would be
        received to sell an asset or paid to transfer a liability in an orderly transaction between market participants.&#160; As a basis for considering such assumptions, accounting standards establish a three-tier fair value hierarchy, which prioritizes the
        inputs used in the valuation methodologies in measuring fair value:</div>

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

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


  <tr>

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

    <td style="width: 36pt; vertical-align: top;">
                <div style="margin-left: 18pt;">&#8226;</div>
              </td>

    <td style="width: auto; vertical-align: top;">
                <div style="text-align: justify;">Level 1 &#8211; observable inputs that reflect quoted prices in active markets for identical assets or liabilities.</div>
              </td>

  </tr>


</table>
      </div>

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

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


  <tr>

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

    <td style="width: 36pt; vertical-align: top;">
                <div style="margin-left: 18pt;">&#8226;</div>
              </td>

    <td style="width: auto; vertical-align: top;">
                <div style="text-align: justify;">Level 2 &#8211; significant observable inputs other than quoted prices in active markets for similar assets and liabilities, such as quoted prices for identical or similar assets or liabilities in markets that
                  are not active; or other inputs that are observable or can be corroborated by observable market data.</div>
              </td>

  </tr>


</table>
      </div>

<div><br/></div>

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


  <tr>

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

    <td style="width: 36pt; vertical-align: top;">
                <div style="margin-left: 18pt;">&#8226;</div>
              </td>

    <td style="width: auto; vertical-align: top;">
                <div style="text-align: justify;">Level 3 &#8211; significant unobservable inputs reflecting our own assumptions, consistent with reasonably available assumptions made by other market participants.</div>
              </td>

  </tr>


</table>
        <div style="font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
        </div>

      </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Classification of the financial asset or liability within the hierarchy is determined based on the lowest level input that is significant to the fair value
        measurement.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Our principal financial instruments held consist of T-Bills as of June 30, 2024 and December 31, 2023 which fall under level 1 of the fair value hierarchy; accounts
          receivable - trade, accounts payable - trade, as of June 30, 2024 and December 31, 2023, all of which fall under Level 3 of the fair value hierarchy.&#160; As of June 30, 2024 and December 31, 2023, the carrying values of our financial instruments
          included in our Consolidated Balance Sheets approximated their fair values.&#160; There were no transfers into or out of Levels 1, 2
          and 3 during the six months ended June 30, 2024 and 2023.</div>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Income Taxes</span></span>.&#160; Income taxes are estimated for each jurisdiction in which we operate.&#160;&#160;This involves assessing current
        tax exposure together with temporary differences resulting from differing treatment of items for tax and financial statement accounting purposes.&#160;&#160;Any resulting deferred tax assets are evaluated for recoverability based on estimated future taxable
        income.&#160;&#160;To the extent it is more-likely-than-not that all or a portion of a deferred tax asset will not be realized, a valuation allowance is recorded.&#160; Our evaluation regarding whether a valuation allowance is required or should be adjusted also
        considers, among other things, the nature, frequency, and severity of recent losses, forecasts of future profitability and the duration of statutory carryforward periods.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Deferred tax assets and liabilities are measured using the enacted tax rates in effect in the years when those temporary differences are expected to reverse.&#160; The
        effect on deferred taxes from a change in tax rate is recognized through continuing operations in the period that includes the enactment date of the change.&#160; Changes in tax laws and rates could affect recorded deferred tax assets and liabilities in
        the future.</div>

<div><br/></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">A tax benefit from an uncertain tax position may be recognized when it is more-likely-than-not that the position will be sustained upon examination, including
        resolutions of any related appeals or litigation processes, based on the technical merits.&#160; Income tax positions must meet a more-likely-than-not recognition threshold to be recognized.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We recognize tax liabilities for uncertain tax positions and adjust these liabilities when our judgement changes as a result of the evaluation of new information not
        previously available.&#160; Due to the complexity of some of these uncertainties, the ultimate resolution may result in a payment that is materially different from the current estimate of the tax liabilities.&#160; These differences will be reflected as
        increases or decreases to income tax expense and the effective tax rate in the period in which new information becomes available.&#160; We recognize interest and/or penalties related to all tax positions in income tax expense. To the extent that accrued
        interest and penalties do not ultimately become payable, amounts accrued will be reduced and reflected as a reduction of the overall income tax provision in the period that such determination is made.</div>

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

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We may be subject to periodic audits by the Internal Revenue Service and other taxing authorities.&#160; These audits may challenge certain of our tax positions, such as
        the timing and amount of deductions and allocation of taxable income to the various jurisdictions.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Stock-based compensation</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Stock-based compensation</span></span>.&#160; The Company&#8217;s stock-based compensation relates primarily to restricted stock unit (&#8220;RSU&#8221;)
        awards.&#160; Accounting guidance requires measurement and recognition of compensation expense at an amount equal to the grant date fair value.&#160; Compensation expense is recognized for service-based stock awards on a straight-line basis or ratably over
        the requisite service period, based on the closing price of the Company&#8217;s stock on the date of grant.&#160; The service-based awards typically vest ratably over the requisite service period, provided that the participant is employed on the vesting
        date.&#160; Compensation expense is reduced by actual forfeitures as they occur over the requisite service period of the awards.</div>

<div><br/></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Performance-based RSUs vest, if at all, upon the Company satisfying certain performance targets.&#160; The Company records compensation expense for awards with a
        performance condition when it is probable that the condition will be achieved.&#160; If the Company determines it is not probable a performance condition will be achieved, no compensation expense is recognized.&#160; If the Company changes its assessment in
        a subsequent period and concludes it is probable a performance condition will be achieved, the Company will recognize compensation expense ratably between the period of the change in assessment through the expected date of satisfying the
        performance condition for vesting.&#160; If the Company subsequently assesses that it is no longer probable that a performance condition will be achieved, the accumulated expense that has been previously recognized will be reversed.&#160; The compensation
        expense ultimately recognized, if any, related to performance-based awards will equal the grant date fair value based on the number of shares for which the performance condition has been satisfied.&#160; We issue shares from authorized shares upon the
        lapsing of vesting restrictions on RSUs.&#160; We do not use cash to settle equity instruments issued under stock-based compensation awards. The payments of the employees&#8217; tax liability for a portion of the vested shares are satisfied by withholding
        shares with a fair value equal to the tax liability.</div>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock', window );">Accounts Receivable - Trade and Expected Credit Losses</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Accounts Receivable - Trade and Expected Credit Losses</span></span>.&#160; Our receivables primarily arise from the sale of merchandise
        to customers that have applied for and been granted credit.&#160; Accounts receivable are stated at amounts due, net of an allowance.&#160; Accounts receivable are generally due within 30 days of invoicing.&#160; We estimate expected credit losses based on
        factors such as the composition of accounts receivable, the age of the accounts, historical bad debt experience, and our evaluation of the financial condition and past collection history of each customer.&#160; Management believes that the historical
        loss information it has compiled is a reasonable base on which to determine expected credit losses for trade receivables held at June 30, 2024, because the composition of the trade receivables at that date is consistent with that used in developing
        the historical credit-loss percentages (i.e., the similar risk characteristics of its customers and its credit practices have not changed significantly over time).&#160; Accordingly, the allowance for expected credit losses at June 30, 2024, December
        31, 2023, and January 1, 2023 each totaled less than $0.1 million.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsFiniteLivedPolicy', window );">Other Intangible Assets</a></td>
<td class="text">
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"><span style="font-style: italic;"><span style="text-decoration: underline;">Other Intangible Assets</span></span>.&#160; Our intangible assets and related accumulated amortization relate to trademarks and
        copyrights that are definite-lived intangibles and are subject to amortization.&#160; The weighted average amortization period is 15 years
        for trademarks and copyrights.&#160; Amortization expense related to other intangible assets was less than $0.01 million during each of
        the six months ended June 30, 2024 and 2023.&#160; Based on the current amount of intangible assets subject to amortization, we estimate amortization expense to be less than $0.01 million annually over the next five years. Our &#8220;Other intangible assets&#8221; is fully amortized as of June 30 2024.  </div>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock', window );">Comprehensive Income</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-style: italic;"><span style="text-decoration: underline;">Comprehensive Income</span></span>.&#160; Comprehensive income includes net income and certain other items that are recorded directly to
        stockholders&#8217; equity.&#160; The Company&#8217;s only source of other comprehensive income is foreign currency translation adjustments, and those adjustments are presented net of tax.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_RevenueRecognitionDiscountsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for sales discounts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tlfa_RevenueRecognitionDiscountsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomePolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security. Includes, but is not limited to, methodology used to estimate allowance for credit loss, how writeoff of uncollectible amount is recognized, and determination of past due status and nonaccrual status.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.M.2.Q4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483530/326-20-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-14<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 5A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479391/326-20-30-5A<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-3C<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 8A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479366/326-20-35-8A<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-3D<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479175/326-30-30-1B<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479106/326-30-50-3C<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479106/326-30-50-3A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479106/326-30-50-3D<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 13A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479148/326-30-35-13A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 4A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479391/326-20-30-4A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 7A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479148/326-30-35-7A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-21<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-11<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479106/326-30-50-7<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-17<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditLossFinancialInstrumentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the fair value of financial instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 825<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/830/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480091/360-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482338/360-10-05-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-20<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsFiniteLivedPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for finite-lived intangible assets. This accounting policy also might address: (1) the amortization method used; (2) the useful lives of such assets; and (3) how the entity assesses and measures impairment of such assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-30/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483154/926-20-50-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 920<br> -SubTopic 350<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478609/920-350-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 920<br> -SubTopic 350<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478609/920-350-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 920<br> -SubTopic 350<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478609/920-350-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsFiniteLivedPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478411/912-330-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/tableOfContent<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482989/270-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for leasing arrangement entered into by lessee.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeasesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue from contract with customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-18<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org/606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for inclusion of significant items in the selling, general and administrative (or similar) expense report caption.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 720<br> -SubTopic 35<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483406/720-35-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.C.Q3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.1.Q5)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.3.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2.Q6)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/718/tableOfContent<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717065701056">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Disaggregated Revenue</a></td>
<td class="text"><span style="font-family: 'Times New Roman'; font-size: 10pt; color: #000000;"> In the following table, revenue for the three and six months ended June 30,
        2024 and 2023 is disaggregated by geographic areas as follows:</span>
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
      </div>

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


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
              <div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended June 30,</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: center; font-weight: bold; vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" rowspan="1" style="text-align: center; vertical-align: bottom; font-weight: bold; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">Six Months Ended June 30,</td>

    <td colspan="1" rowspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"><span style="font-style: italic;">(in thousands)</span></td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

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

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

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

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="text-align: center; vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"><span style="font-weight: bold;">2024 </span></td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="text-align: center; vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"><span style="font-weight: bold;">2023 </span></td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
              <div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">United States</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15,300</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15,566</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">32,386 </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">33,665 </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; white-space: nowrap;" valign="bottom">
              <div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Canada</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,737</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,591</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">3,633
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">3,498
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">Other </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">249 </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">325 </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">542 </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">679 </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
              <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">Net sales</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">17,286</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">
              <div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">17,482</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">36,561 </td>

    <td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">37,842 </td>

    <td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Inventory</a></td>
<td class="text"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Inventory is then adjusted in our accounting system to reflect actual count results.&#160;&#160;</span>
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </div>

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


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-style: italic;">(in thousands)</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">June 30, 2024</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
              <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2023</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">On hand:</div>
            </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
              <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Finished goods held for sale</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">32,640</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">33,350</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
              <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Raw materials and work in process</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">1,358</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">1,774</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Inventory in transit</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">3,193</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
              <div style="color: rgb(0, 0, 0);">2,869</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
              <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-weight: bold;">TOTAL</div>
            </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">37,191</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
            </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
              <div style="color: rgb(0, 0, 0); font-weight: bold;">37,993</div>
            </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717062728448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>STOCK-BASED COMPENSATION [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock', window );">Activity of Non-vested Restricted Common Stock Awards</a></td>
<td class="text">
<div><br/>

        </div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;">A summary of the activity for non-vested restricted stock and RSU awards as of June 30, 2024 is presented below: </span></div>

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

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


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Shares</div>
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">(in thousands)</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Weighted</div>
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Average</div>
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Share Price </div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="text-align: left; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="text-align: left; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Balance, January 1, 2024</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">623</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">5.12</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; white-space: nowrap;" valign="bottom">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Granted</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">74</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">0.85</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">Forfeited </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">(6</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">)</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">5.00<br/>
                </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);">Vested</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">23</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);"></div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">4.73</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-weight: bold;">Balance, <span style="text-indent: 0pt;">June 30</span>, <span style="text-indent: 0pt;">2024</span></div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">714</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">4.38</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock', window );">Non-vested, Service-based Awards</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">As of June 30, 2024, there was unrecognized compensation cost related to non-vested, service-based RSU awards of $1.4 million, which will be recognized in each of the following years (dollars in thousands):</div>

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

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


  <tr>

    <td rowspan="1" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-style: normal; font-weight: bold; text-align: center;">Unrecognized Expense</div>
                </td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; text-align: left; width: 88%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); text-align: center;">2024</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">324</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; text-align: left; width: 88%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); text-align: center;">2025</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">564</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; text-align: left; width: 88%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); text-align: center;">2026</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">419</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; text-align: left; width: 88%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); text-align: center;">2027</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">37</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; text-align: center; width: 88%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">2028<br/>
                </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">6</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; text-align: left; width: 88%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"></td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">$</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold;">1,350</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of cost not yet recognized and weighted-average period over which cost is expected to be recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (i)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717062384384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>EARNINGS PER SHARE (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>EARNINGS PER SHARE [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Computation of Basic and Diluted EPS</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The following table sets forth the computation of basic and diluted EPS for the three and six months ended June 30, 2024 and 2023:</div>

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

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


  <tr>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
                  <div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">Three Months Ended June 30,</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="6" rowspan="1" style="vertical-align: bottom; text-align: center; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"><span style="font-weight: bold;">Six Months Ended June 30,</span><br/>
                </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-style: italic;">(in thousands, except share data)</div>
                </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; border-bottom: #000000 solid 2px;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;">2024<br/>
                  </div>
                </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; border-bottom: #000000 solid 2px;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;">2023<br/>
                  </div>
                </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; border-bottom: #000000 solid 2px;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;">2024<br/>
                  </div>
                </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;">2023<br/>
                  </div>
                </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; font-weight: bold;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; font-weight: bold;" valign="bottom">Numerator:</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
                  <div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);">Net income <br/>
                  </div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">101</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">$</div>
                </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">531</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">626</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">$</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">1,195</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

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

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
                  <div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-weight: bold;">Denominator:</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); text-indent: -9pt; margin-left: 9pt;">Basic weighted-average common shares outstanding</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">8,415,795</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">8,327,178</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">8,406,156</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">8,315,214</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
                  <div style="text-indent: -9pt; margin-left: 9pt;">Dilutive effect of service-based restricted stock awards granted to Board of Directors under the Plan<br/>
                  </div>
                </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">8,330</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">7,156</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">596</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">367</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 52%; padding-bottom: 2px;" valign="bottom">
                  <div style="text-indent: -9pt; margin-left: 9pt;">Dilutive effect of service-based restricted stock awards granted to employees under the Plan<br/>
                  </div>
                </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">80,943<br/>
                </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">32,570<br/>
                </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">60,404<br/>
                </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">14,388<br/>
                </td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
                  <div style="color: rgb(0, 0, 0); text-indent: -9pt; margin-left: 9pt;">Diluted weighted-average common shares outstanding</div>
                </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">8,505,068</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
                  <div style="color: rgb(0, 0, 0);">8,366,904</div>
                </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">8,467,156</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">8,329,969</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 52%;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
                  <div style="text-indent: -9pt; margin-left: 9pt;">Basic earnings per share <br/>
                  </div>
                </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"><br/>
                </td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">0.01</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"><br/>
                </td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">0.06</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">0.07</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">0.14</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 52%; padding-bottom: 4px;" valign="bottom">
                  <div style="margin-left: 9pt; text-indent: -9pt;">Diluted earnings per share <br/>
                  </div>
                </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"><br/>
                </td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">0.01</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"><br/>
                </td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">0.06</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">0.07</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom">0.14</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717066206400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Basis of Presentation (Details)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jun. 30, 2024 </div>
<div>Store </div>
<div>Segment</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_BusinessDescriptionAbstract', window );"><strong>Description of Business [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfStores', window );">Number of stores</a></td>
<td class="nump">101<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfOperatingSegments', window );">Number of operating segments | Segment</a></td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of reporting segments | Segment</a></td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_BusinessDescriptionAbstract', window );"><strong>Description of Business [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfStores', window );">Number of stores</a></td>
<td class="nump">90<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_CA', window );">Canada [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_BusinessDescriptionAbstract', window );"><strong>Description of Business [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfStores', window );">Number of stores</a></td>
<td class="nump">10<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_ES', window );">Spain [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_BusinessDescriptionAbstract', window );"><strong>Description of Business [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfStores', window );">Number of stores</a></td>
<td class="nump">1<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_BusinessDescriptionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tlfa_BusinessDescriptionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfOperatingSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfOperatingSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfStores">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the number of stores.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfStores</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_CA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_ES">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_ES</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717057120768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Revenue Recognition and Discounts (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue Recognition [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss', window );">Sales return allowance</a></td>
<td class="nump">$ 100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100<span></span>
</td>
<td class="nump">$ 200<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_InventoryMerchandiseExpectedToBeReturned', window );">Estimate of merchandise expected to be returned</a></td>
<td class="nump">100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100<span></span>
</td>
<td class="nump">100<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_GiftCardRedemptionPeriod', window );">Gift card redemption period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue recognized from change in deferred obligation balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 200<span></span>
</td>
<td class="nump">$ 200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenueRevenueRecognized1', window );">Deferred revenue, recognized</a></td>
<td class="nump">100<span></span>
</td>
<td class="nump">$ 200<span></span>
</td>
<td class="nump">200<span></span>
</td>
<td class="nump">300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregated Revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">17,286<span></span>
</td>
<td class="nump">17,482<span></span>
</td>
<td class="nump">36,561<span></span>
</td>
<td class="nump">37,842<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=us-gaap_AccountsPayableAndAccruedLiabilitiesMember', window );">Accrued Expenses and Other Liabilities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue Recognition [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Contract with customer liability</a></td>
<td class="nump">100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 300<span></span>
</td>
<td class="nump">$ 300<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregated Revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">15,300<span></span>
</td>
<td class="nump">15,566<span></span>
</td>
<td class="nump">32,386<span></span>
</td>
<td class="nump">33,665<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_CA', window );">Canada [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregated Revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">1,737<span></span>
</td>
<td class="nump">1,591<span></span>
</td>
<td class="nump">3,633<span></span>
</td>
<td class="nump">3,498<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=tlfa_OtherCountriesMember', window );">Other [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregated Revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">$ 249<span></span>
</td>
<td class="nump">$ 325<span></span>
</td>
<td class="nump">$ 542<span></span>
</td>
<td class="nump">$ 679<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member] | All Other Countries [Member] | Geographic Concentration Risk [Member] | Sales [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregated Revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Revenue percentage</a></td>
<td class="nump">2.00%<span></span>
</td>
<td class="nump">2.00%<span></span>
</td>
<td class="nump">2.00%<span></span>
</td>
<td class="nump">2.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_GiftCardRedemptionPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected customer gift card redemption period, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tlfa_GiftCardRedemptionPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_InventoryMerchandiseExpectedToBeReturned">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross amount of merchandise or supplies to which the entity expected returns as of balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tlfa_InventoryMerchandiseExpectedToBeReturned</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss for right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenueRevenueRecognized1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously reported as deferred or unearned revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueRevenueRecognized1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_AccountsPayableAndAccruedLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_AccountsPayableAndAccruedLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_CA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=tlfa_OtherCountriesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=tlfa_OtherCountriesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=tlfa_AllOtherCountriesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=tlfa_AllOtherCountriesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_GeographicConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_GeographicConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717068522032">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Discounts (Details)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jun. 30, 2024 </div>
<div>Discount</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_DiscountsAbstract', window );"><strong>Discounts [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_NumberOfClassesOfCustomerDiscounts', window );">Number of classes of customer discounts</a></td>
<td class="nump">6<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_DiscountsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tlfa_DiscountsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_NumberOfClassesOfCustomerDiscounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of classes of customer discounts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tlfa_NumberOfClassesOfCustomerDiscounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717064561760">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Property and Equipment, Net of Accumulated Depreciation (Details)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Equipment and Machinery [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNetAbstract', window );"><strong>Property and Equipment, Net of Accumulated Depreciation [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives of assets</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Equipment and Machinery [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNetAbstract', window );"><strong>Property and Equipment, Net of Accumulated Depreciation [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives of assets</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture and Fixtures [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNetAbstract', window );"><strong>Property and Equipment, Net of Accumulated Depreciation [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives of assets</a></td>
<td class="text">7 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture and Fixtures [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNetAbstract', window );"><strong>Property and Equipment, Net of Accumulated Depreciation [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives of assets</a></td>
<td class="text">15 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember', window );">Vehicles [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNetAbstract', window );"><strong>Property and Equipment, Net of Accumulated Depreciation [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives of assets</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Buildings and Related Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNetAbstract', window );"><strong>Property and Equipment, Net of Accumulated Depreciation [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives of assets</a></td>
<td class="text">40 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717059230288">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Inventory (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNetAbstract', window );"><strong>Inventory on hand [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoods', window );">Finished goods held for sale</a></td>
<td class="nump">$ 32,640<span></span>
</td>
<td class="nump">$ 33,350<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcessAndRawMaterials', window );">Raw materials and work in process</a></td>
<td class="nump">1,358<span></span>
</td>
<td class="nump">1,774<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherInventoryInTransit', window );">Inventory in transit</a></td>
<td class="nump">3,193<span></span>
</td>
<td class="nump">2,869<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Total inventory</a></td>
<td class="nump">$ 37,191<span></span>
</td>
<td class="nump">$ 37,993<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcessAndRawMaterials">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate carrying amount as of the balance sheet date of items held by the entity which are partially completed at the time of measurement and unprocessed items that will go through the production process and become part of the final product. Includes supplies used directly or indirectly in the manufacturing or production process. This element may be used when the reporting entity combines work in process and raw materials into an aggregate amount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcessAndRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherInventoryInTransit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross amount of merchandise or supplies to which the entity holds the title but does not hold physical possession because the goods are currently being transported.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherInventoryInTransit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717066357248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Fair Value of Financial Instruments (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_FairValueOfFinancialInstrumentsAbstract', window );"><strong>Fair Value of Financial Instruments [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet', window );">Transfers into (out of) Level 3</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_FairValueOfFinancialInstrumentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tlfa_FairValueOfFinancialInstrumentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transfer of financial instrument classified as an asset into (out of) level 3 of the fair value hierarchy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-3<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717062736768">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Accounts Receivable and Expected Credit Losses (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_AccountsReceivableAndExpectedCreditLossesAbstract', window );"><strong>Accounts Receivable and Expected Credit Losses [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Allowance for expected credit losses</a></td>
<td class="nump">$ 0.1<span></span>
</td>
<td class="nump">$ 0.1<span></span>
</td>
<td class="nump">$ 0.1<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_AccountsReceivableAndExpectedCreditLossesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tlfa_AccountsReceivableAndExpectedCreditLossesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717162174288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Other Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNetAbstract', window );"><strong>Intangible Assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization expenses</a></td>
<td class="nump">$ 10<span></span>
</td>
<td class="nump">$ 10<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear', window );">Amortization expense, 2025</a></td>
<td class="nump">10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">Amortization expense, 2026</a></td>
<td class="nump">10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">Amortization expense, 2027</a></td>
<td class="nump">10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">Amortization expense, 2028</a></td>
<td class="nump">10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">Amortization expense, 2029</a></td>
<td class="nump">$ 10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_IntellectualPropertyMember', window );">Trademarks/Copyrights [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNetAbstract', window );"><strong>Intangible Assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted average amortization period</a></td>
<td class="text">15 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_IntellectualPropertyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_IntellectualPropertyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717066997248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NOTES PAYABLE AND LONG-TERM DEBT (Details) - JP Morgan Chase Bank, N.A. [Member] - USD ($)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jan. 03, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentsAbstract', window );"><strong>Debt Instruments [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of credit facility, maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromLinesOfCredit', window );">Line of credit facility, funds borrowed</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityAxis=tlfa_JPMorganChaseBankNAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityAxis=tlfa_JPMorganChaseBankNAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717062755136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAX (Details)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>INCOME TAX [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="nump">32.90%<span></span>
</td>
<td class="nump">32.90%<span></span>
</td>
<td class="nump">26.90%<span></span>
</td>
<td class="nump">31.10%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717058552128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION, 2013 and 2023 Restricted Stock Plans (Details) - shares<br></strong></div></th>
<th class="th" colspan="4">1 Months Ended</th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Jan. 31, 2013</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=tlfa_TwoThousandAndThirteenRestrictedStockPlanMember', window );">2013 Restricted Stock Plan [Member] | Restricted Stock Units [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract', window );"><strong>Restricted Stock Plan [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Number of common shares reserved for issuance (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">800,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=tlfa_TwoThousandAndThirteenRestrictedStockPlanMember', window );">2013 Restricted Stock Plan [Member] | Restricted Stock Units [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract', window );"><strong>Restricted Stock Plan [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Number of common shares reserved for issuance (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">300,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember', window );">2023 Restricted Stock Plan [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract', window );"><strong>Restricted Stock Plan [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period from grant date</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember', window );">2023 Restricted Stock Plan [Member] | Restricted Stock Units [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract', window );"><strong>Restricted Stock Plan [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Number of common shares reserved for issuance (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">800,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember', window );">2023 Restricted Stock Plan [Member] | Restricted Stock Units [Member] | Key Employees [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract', window );"><strong>Restricted Stock Plan [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period from grant date</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of restricted stock units granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">59,649<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember', window );">2023 Restricted Stock Plan [Member] | Restricted Stock Units [Member] | Board of Directors [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract', window );"><strong>Restricted Stock Plan [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period from grant date</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of restricted stock units granted (in shares)</a></td>
<td class="nump">14,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember', window );">2023 Restricted Stock Plan [Member] | Service-Based Restricted Stock Units [Member] | Non-Employee Directors [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract', window );"><strong>Restricted Stock Plan [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period from grant date</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of restricted stock units granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,993<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember', window );">2023 Restricted Stock Plan [Member] | Service-Based Restricted Stock Units [Member] | Chief Executive Officer [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract', window );"><strong>Restricted Stock Plan [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period from grant date</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of restricted stock units granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">276,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate number of common shares reserved for future issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockCapitalSharesReservedForFutureIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=tlfa_TwoThousandAndThirteenRestrictedStockPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=tlfa_TwoThousandAndThirteenRestrictedStockPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=us-gaap_ShareBasedPaymentArrangementEmployeeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=us-gaap_ShareBasedPaymentArrangementEmployeeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_DirectorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_DirectorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=tlfa_ServicedBasedRestrictedStockUnitsRSUsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=tlfa_ServicedBasedRestrictedStockUnitsRSUsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=tlfa_NonEmployeeDirectorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=tlfa_NonEmployeeDirectorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_ChiefExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_ChiefExecutiveOfficerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717068540512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION, Summary of Activity for Non-vested Restricted Stock Unit Awards (Details) - Restricted Stock and RSU [Member]<br> shares in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jun. 30, 2024 </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Shares [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Balance (in shares) | shares</a></td>
<td class="nump">623<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares) | shares</a></td>
<td class="nump">74<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited (in shares) | shares</a></td>
<td class="num">(6)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares) | shares</a></td>
<td class="nump">23<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Balance (in shares) | shares</a></td>
<td class="nump">714<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Share Price [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Balance (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 5.12<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share) | $ / shares</a></td>
<td class="nump">0.85<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited (in dollars per share) | $ / shares</a></td>
<td class="nump">5<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (in dollars per share) | $ / shares</a></td>
<td class="nump">4.73<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Balance (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 4.38<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=tlfa_RestrictedStockAndRestrictedStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=tlfa_RestrictedStockAndRestrictedStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717055385072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION, Non-vested Service-based Restricted Stock Unit Awards (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationAbstract', window );"><strong>Share-based Compensation Expense [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Number of shares issued from vesting of restricted stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">23,301<span></span>
</td>
<td class="nump">39,199<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=tlfa_ServicedBasedRestrictedStockUnitsRSUsMember', window );">Service-Based Restricted Stock Units [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationAbstract', window );"><strong>Share-based Compensation Expense [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 200<span></span>
</td>
<td class="nump">$ 200<span></span>
</td>
<td class="nump">$ 400<span></span>
</td>
<td class="nump">$ 400<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear', window );">2024</a></td>
<td class="nump">324<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">324<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths', window );">2025</a></td>
<td class="nump">564<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">564<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears', window );">2026</a></td>
<td class="nump">419<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">419<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears', window );">2027</a></td>
<td class="nump">37<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">37<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears', window );">2028</a></td>
<td class="nump">6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unrecognized Expense</a></td>
<td class="nump">$ 1,350<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,350<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember', window );">Performance-Based Restricted Stock Units [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationAbstract', window );"><strong>Share-based Compensation Expense [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Unrecognized cost of unvested share-based compensation awards in excess of one year due in the fourth fiscal year following the latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Unrecognized cost of unvested share-based compensation awards in excess of one year due in the third fiscal year following the latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Unrecognized cost of unvested share-based compensation awards due in excess of one year due in the second fiscal year following the latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Unrecognized cost of unvested share-based compensation awards in excess of one year due in the next fiscal year following the latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Unrecognized cost of unvested share-based compensation awards due during the remainder of the fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=tlfa_ServicedBasedRestrictedStockUnitsRSUsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=tlfa_ServicedBasedRestrictedStockUnitsRSUsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717068509648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>EARNINGS PER SHARE (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="4">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAbstract', window );"><strong>Numerator [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 101<span></span>
</td>
<td class="nump">$ 525<span></span>
</td>
<td class="nump">$ 531<span></span>
</td>
<td class="nump">$ 664<span></span>
</td>
<td class="nump">$ 626<span></span>
</td>
<td class="nump">$ 1,195<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Denominator [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic weighted-average common shares outstanding (in shares)</a></td>
<td class="nump">8,415,795<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,327,178<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,406,156<span></span>
</td>
<td class="nump">8,315,214<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted weighted-average common shares outstanding (in shares)</a></td>
<td class="nump">8,505,068<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,366,904<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,467,156<span></span>
</td>
<td class="nump">8,329,969<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic earnings per share (in dollars per share)</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.06<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.14<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted earnings per share (in dollars per share)</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.06<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.14<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock [Member] | Board of Directors [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Denominator [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Dilutive effect of service-based restricted stock awards granted under the Plan (in shares)</a></td>
<td class="nump">8,330<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,156<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">596<span></span>
</td>
<td class="nump">367<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock [Member] | Employees [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Denominator [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Dilutive effect of service-based restricted stock awards granted under the Plan (in shares)</a></td>
<td class="nump">80,943<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,570<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">60,404<span></span>
</td>
<td class="nump">14,388<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480454/718-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-22<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-23<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-28A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_DirectorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_DirectorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=us-gaap_ShareBasedPaymentArrangementEmployeeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=us-gaap_ShareBasedPaymentArrangementEmployeeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140717162295840">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Aug. 08, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_StockRepurchaseProgramAbstract', window );"><strong>Share Repurchase Program and Share Repurchases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1', window );">Remaining repurchase of common stock</a></td>
<td class="nump">$ 5.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tlfa_StockRepurchaseProgramAbstract', window );"><strong>Share Repurchase Program and Share Repurchases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StockRepurchaseProgramAuthorizedAmount1', window );">Repurchase of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5.0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StockRepurchaseProgramAuthorizedAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount authorized for purchase of share under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 505<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481520/505-30-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StockRepurchaseProgramAuthorizedAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tlfa_StockRepurchaseProgramAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tlfa_StockRepurchaseProgramAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tlfa_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount remaining authorized for purchase of share under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>43
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M0=5 Y3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$%
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
ML+*YW-)L16L%D+^O&1./-VJ _@/@[!]02P,$%     @ ]8D'6<5T-!G<!0
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
MAHX\>U<1M&269^PJ(GV?!' @ !4XM'P9Y$! -,"! &0!!T):$T<^:E<1/)S
MKB*@ Q$^?N^A1;JK""E-D=(T%<W-"^M,R?@)RR1):<Y,26DS4EI*2E.D-$U%
M<U/J:/=0Y-&4QVP?BC^3(GT#B<GNR@- Y.T@BC^5@DLTTALW=-;,DM]A&U&)
MK]J0^$:BN"3%)0J7Z*#$C9LU>^1WWDY4^LLA^%!V[\[3<#=Z7Y%(C1M2FB*E
M:2J:FQ[6N)%AXZ;?T@.)[S,J\8U&<4F*2Q0NT4&)&S#K=\C'KM5 !Q*^NVCX
MV+T'$:EM04I3I#1-17,WN+;^1A+V-\+N9^([&MYFUOCC)[@D!21LV'V:!^=H
MA.,&R3H82=C!H#(*$W3MQ!27S'!)BDL4((F]: 8U;C!MV9^<7?:C%E!R1MD/
M: !'#5!!93\@@QPUB 8X:H LX*@EMNQ/'E7VX^&$RG[(40L?O^_%G)26DM(4
M*4U3T1[RXO+HCSLU?QWL=59^6&VK:)W?&OSPQ<B<R/+A#VX]O*F+N_;O/;TO
MZKK8M"^7>6:J_49@_O^V*.JO;YH_(77XLV<W_P=02P,$%     @ ]8D'6>,*
MCVIQ%@  &ST  !@   !X;"]W;W)K<VAE971S+W-H965T-RYX;6RU6UMSVSB6
M?N>O0'EZIY(J6;[&=JY5CI/T>C:=9&)W]U9M[0-$0A(2DE (THKZU\]WS@%
M4E:RZ9F=%ULB<3GW\YT#Z-G:-9_]TIA6?:W*VC_?6[;MZLG!@<^7IM)^ZE:F
MQINY:RK=XFNS./"KQNB")U7EP?'AX=E!I6V]]^(9/_O0O'CFNK:TM?G0*-]5
ME6XV+TWIUL_WCO;B@X]VL6SIP<&+9RN],#>F_77UH<&W@[1*82M3>^MJU9CY
M\[W+HR<O3VD\#_C-FK4??%;$R<RYS_3ENGB^=T@$F=+D+:V@\>_.7)FRI(5
MQI>PYE[:DB8./\?5WS#OX&6FO;ERY>^V:)?/]R[V5&'FNBO;CV[]GR;P\XC6
MRUWI^:]:R]CS\SV5=[YU59@,"BI;RW_]-<AA,.'B\!L3CL.$8Z9;-F(J7^E6
MOWC6N+5J:#16HP_,*L\&<;8FI=RT#=Y:S&M?O+R\N;Y1[]^H#Q]?W[Q^=WMY
M>_W^G;I\]TI=O?YX>WG]3MU<__SN^LWUU>6[6W5Y=?7^UW>WU^]^5A_>O[V^
MNGY]\^R@!1FTV$$>MGPI6QY_8\LS]8NKVZ57K^O"%./Y!R _\7 <>7AY_-T%
M_];54W5R.%''A\>GWUGO),GDA-<[^7?)1/W/Y<RW#2SN?W>)1W8_W;T[>>$3
MO]*Y>;X'-_.FN3-[+_[ZEZ.SPZ??X>TT\7;ZO=7_/?K^_I9'4_6O2_16U\5&
MO36Z79I&O8%H7;.9J.LZGZH'?_W+Q?'QX=/;MV\F_/'HJ0J/UF;[B>N:[4>=
MWWZ"3=25JU:ZWFR_8D+20]>,GD<"X^O*Z/I[I$]4ZQ:&GZ]MNU2V]0B/,V\+
MJQMK_$/U^U*WJK#SN6E,W5K=&A\6G#>N4D1H#D)-:SG(6:_ H%HB%JE9@W%*
MKS5F&N\5?8-5NGH17IDOG6TW_+QT&UVVH(IFUZ:E4*K<'&&WU;;$- =3Q&X@
M9M6X.UO@6^[J.U-;4^=FDFG><[]U7;X,<0M,D?7:W"CS=64:&:DPLILII!,F
MOG2Y+E4IPLD;/6\MZ -+55=;(HBH(Z*.#@_W-T:#-ZS4(E],U>]&S4QIS9T1
MRMJE):JJF:TU2P,,?.ET"=& 7+S#DE\Z#'9!A+3V DG!,RDBE"1-K*J+.UW3
M7H%U2))U87/$?&(A<T2VIQ4;LRIM#OTP74@[)9,-:15=#K6N&HNL9\L-EFI<
M!_WD8F#[;EV;(HAXDMZZIJ"5%]!=@U4+T3<MN2C=##);&]A)2U.([#BML WR
M'9)=[KJZ):HHAH")EOFT-2V1D7PA;HME"GMG*<,RV;KT#MFE[N:PT@[<!L6H
M4I/J\JY-3U;6Y$:,JG*^)5F3$ NW;]O]#3:!".;J,UETDIUW91%(B";%ZI4G
MD:&>$D=F'T5("@WVQ *G*;/.6[;M:''D/C! 34]:,J4L!H<<VOF,!\$U'TZ4
MA\)XC$C08SXF>E/-R@W30)@&YE\'1=HZMRM(S)$!$.FM.GI\>*AN@'661D,&
M;YU;J8MC9"(@AE;]CC_+B;HU7T'/^=G1Z>%4W?:1!20VY-0P"6"LAEU;@[.6
M]X#!'P7WRT16/!E2)$D^/HP"!'DD]U_A+3"2FY:7B4S_.KV9]@RWIA[,NM*U
M+G10@)$7]/QF!99'A-(*1^=/V;<JTL)2TQH]^4AUA2$U$B7OM"_T%RR_LL3)
M+[KY#&S9(=>+Q_M--0/,Z6-VI)!$'@1!"M0*NEV4ABDA>V9:*#ITM>X*9O?*
M8=G:RR=8ERW85=X@ -1LW2P/8$A8X5+?4;R #. 2*W# ID@+-P5&&XG P7%H
MFZ#QTD0O+,$JWIM5*W-[N6=![E#;):P0<2"IX.?+RP]1!1SU8%,84:EY(M+6
M JX9I4(=3 @M;FO$:S%]-GG"H;"+_;_SL,NFM3GD<T';?C2+KI0E;O;_>ZHN
MF2\2X(9BBMG ,U7M6JR9EUU!#E9&G]W>?^Y<BZ'@IZ$409*:;10QP@SHND90
M54$'6<^'3\*>(KOQTFYEZQ")$5802>DU$_3_H5*BYGO @)BA )0/5QKF5WK#
M'D[2T,4G1!%9^0%-L9[M +37))\2XB";IZ@R&/L0^1+AP*.D(1V%>*OFVC;D
MV0@=O816SDN>UFPK *XF 5>F]A66JF9@Y.2(GYY(1L::R#@\1SR$+2*FQES[
MI9JCO/(IK7K[%6&94;8AE+UC*UD]KM'KCC9!,,@_+Q&M$5&#]P>TD GE8B9_
M:B\)*>)[*3WO,IY=;LG&%ZQ1LG7G#2U@H*.*?4^R##)&WO( ;(3X"W+N=-GQ
M6 KN+?)E:?7,"BJ88!A 3!<R$>$4V)Z$6F^R?G4*NE3]<;8"SH"564(N/;+A
M!>Y@5JZ#B-@:YVR-@P08X$I!AC(C$K5WM9[!B?OXF-LF[RJ( VOZ26 EJ7^]
MM,AOY*^"632L-&GB?KPF9Z?L[K<RCZ,0UW%$,R2?($&3#6-!YX722G\FA 6!
M#,2M VB*&5A "$9@;5?9'+9P9P$V2:4J7^IZ06*]!*Q@1Q*&*KT)X#;!V>$F
M8IYC)<!]/[&*75A5%0+I*H>5"(&Q;X3PS&(M-X(IZ\+*2PIBWG?5BK].,U;V
M/QF#_-)U0#6B34X+V.A35PM@2:%\L/3_L2"#]F%LE% <XG;"3S$7_%?2/J-C
M\<![862J;NRB9OE '9=]DOL 8G**A%<41!@ TP?R--@%$X2=#":'?)]SNJ]]
MV><+_JY#FOHH_H3_N<..+4-+LCVO2\XHP)4<;]V:W1OF*WYE- R;>1A[6"HF
MPM2902:WG(>*X&>?:V#HY&WT'#FK(XR&4B9L+-A>@"H_F80@PSF22<R^1>)
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
MX![&]ZEK46QWC]84>+G4$%9%SI@RE @R"F]-SL'^/(0$4_5^=-EF>$LB.8U
M^B E8N5V_R5 G?_Q8_5XCDI068Y>R^!_43")NI[WI[&(\0@UN;&BTWVY_C))
M+RF ;;WY\=/^<"WC'GG1Q+Y#WLYF_K?VN1_R4P[9*?)L^_QQE$5?AAKDAFH0
MJ&&%O/<UG$=A)]L,"$[WF+C?A\C+1=3<<*%/$ 4.T4E )9X]GS=DQ,;)$&W\
M<.->TK:ZU5_!XBN#C0@UM/KK-R*2]"'$(HLA0*FUG*!AIES6@B0$M41H3O5P
MZA$XSMW5"F&DV:AAXX4V&![(40^\\8(LLK B7*H8T&I"7V%8.D1"(@(*3?W^
M>B&?\7.0Z6%-;)H)5A/W%,WZGLN$S5,?F#=%$)%S_+A[J=>AX33H'H4K& F3
M%3\@<EMG;-4=73J$'?/8&:JJ.0HY8;R&(\0BCMZFJS2$/F:C8XU!!0@H;@"\
M/YMRLT\9:Y]K[HAYTAI<$LZH&/2T >E]A<?FJXZ%U@#^$,YP91>N$A!.VB3L
M!\LWU$7@.-K&$\K01Z!L-PJ8K<F7-2<XNC0FUZ;86(<,@HF.P3#"L][-4-.?
MM7-/VC/ZC#W<*)>M0HL5.- !9=S=(@YW$E*-L-468'%32.@[E.&^AZ"ET$X,
MIF12*U%ZHNM1P0ANLA5A6M?Y8;:;JE=RRZ,-%YY+X%=I+?*]35F<+W$$#@1<
M,+*.3<Q>;VPT?9M31\R9\E7$E&7ON>W@QG4X(X^-T\C;EDC#+:*1[T=+"Q"
M$67&9347M-3#-_$+V+6]/0QO'(P+ICX0C)P[ =AM(<\,+>J'TAU91BJAL-4!
M=1,0%$I6]: >I]0T-A(NOK;)A0Q<.*!NDX##F7 VW&BP2[BI&/56;@+%,;%.
MPB&Y3X?+O53I$+\(3?!>PFR%\1)Q4!;7*7PLT[L<'4[PSXUVA$G&J>/FBQ7D
M%2X+;R2"I.M),IF.(.GNCR=\1FM>R_%7F6[*W(1+\OW!.&CA,JM#%FE&IA26
MHLW@8V5I*!=$GPWY>Z25A*\YP$*@O#"YL]PSP)PB2B;X>3DZ!=1? W(5*8DR
MXS6W3\C'OK!YZ*O?T+7!?0EQ?(^^]K+0A_[F1GC]\>97K^Z@^PD=?9%-E.5$
MHNZ@N:]HOI_+_:W Y? 62*N;A6FW+K=)YO%C"J+W<']TS7<GI-.:#==+=\2&
M.016,6,9]+5R/RP8GLZ7?+$/$7P^8B!A91]6(\M.*VKUC=VWEIT03MK)SRCW
MW]L]QF&R&>X">XYR2+>:[\&:+QU]'W1NY,I@D<C])T@=$L!O^\BRDP6$+BYM
M9J9=&S-RO!'\X$C=,Q%QSNCV2P0M [NA_MANTLD6R 0QZI[D>NE0&N)=XQW3
MJ$?4.Z"JV;*//R>GX=%RE <OLT30BI?58S8<0IP4\!@ZAB;94+Q97&X01OL%
MQ.OJS608TE?WO#1Y"G7,Z7A6[CM1\T5$/:A#1LBF[KC>($W(CP5(UI*-@GIW
MB"CQ+-JS ;+(A:ZX#H-!"8PDB/ X!HZLU"L?+FT'U:K4%F*\5G/HD7YWR#/>
MR*5'/B5M6V@R_#)J6'(R%46HQORW IT(+%QUCHW2B'R 6MS&F'2C>@@7Y,8;
MC$=N@L4YQ$//)=]_C;*A?$(AC+ >H=(P1J+:4#%!<>X>1-E,XTU0NK8Y*&AO
M^?<<% Y>1\>Z0OZT] L7]@.YF(),!K^T-"<TO'8U3'?]:/%@\(-50-\%_RS7
MR_F?_'8U/4V__+V4'[SVP^5GP[\@!4!/J-_GF'HX/7^T)SWS^*5U*_[YZ\RU
MK:OXX]* OX8&X#W]VB%^H0W2[Z%?_ -02P,$%     @ ]8D'6:O+7?=% P
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
MM!':S*,S<_, HK0)9CT30N\=6V!X4N._4$L#!!0    ( /6)!UEJ$)QNZP<
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
M2^.D7N8TOU$[!SK?*&4/ADO0_B-$OP%02P,$%     @ ]8D'66L<A]&C$@
M2C<  !D   !X;"]W;W)K<VAE971S+W-H965T,30N>&ULM5M;<QLWLGZ?7X'2
MYFQ9510EDKKZ5B7+=E9;7MEER<G#J?, <D!RXN& !F9$,;_^?-T-S(6B6,HF
MJ4HLBC-H]+V_;D"O5]9]]W-C2O6PR O_9F]>ELN7AX=^,C<+[?MV:0H\F5JW
MT"5^=;-#OW1&I[QHD1\.CXY.#Q<Z*_;>ON;OOKBWKVU5YEEAOCCEJ\5"N_4[
MD]O5F[W!7OSB:S:;E_3%X=O72STSMZ;\MOSB\-MA327-%J;PF2V4,],W>Y>#
ME^\&Y[2 W_@E,RO?^JQ(E+&UW^F7Z_3-WA%Q9'(S*8F$QH][<V7RG"B!CQ^!
MZ%Z])RUL?X[4/[+P$&:LO;FR^:]96L[?[)WOJ=1,=9677^WJ7R8(=$+T)C;W
M_*]:R;MG9WMJ4OG2+L)B<+#("OFI'X(B6@O.CYY8, P+ALRW;,1<OM>E?OO:
MV95R]#:HT0<6E5>#N:P@J]R6#D\SK"O?OKN\O;Y5GS^J+U\_W'ZXN;N\N_Y\
MHRYOWJNK#U_O+J]OU.WUSS?7'Z^O+F_NU.75U>=O-W?7-S^K+Y\_75]=?[A5
M+[[8/)MDQN^_/BS!$=$]G(3=W\GNPR=V/U7_L44Y]^I#D9JTN_X0DM3B#*,X
M[X8["?Z[*OIJ=-13PZ/A\0YZHUH](Z8W^MO4\[^78U\Z.-__;5./['Z\?7>*
MR)=^J2?FS1Y"SAMW;_;>_O,?@].C5SMD.ZYE.]Y%_>V5]G.EBU1-Z(/Y467W
M.C=%Z;<Q^I>0ZK!Y4K-YLI,V@@^A52 8G#/%9*V@S<+G6H(:>_+OFH-\*^M_
M&_F..*>U.*<[]_MJ[DU1&?753.RLR(CL-J;_,)&^NIL;Y:%VCVQ95@[<Y\BY
MNI@8E7E.7:DR>C)7:Z.=@G3S#.G%91.=ATQC7%PZ-G-]GUG'&K#E'$^^%W95
MJ"DT89WG[YU)JPFV*U \9&-V >M+9:?R30]I=V)=FA6S?,TL)D^Q6$SR"DD
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
M;!8O#&I/*B%9?QGX3FK*&Q;<?#'N?&419@7YZ%6[Z>9I@\@#78;.CI(,B4$
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
M)0L:\"@- ]WOA-!O&V.@_<LP_@Y02P,$%     @ ]8D'61?9E#QQ P  N@<
M !D   !X;"]W;W)K<VAE971S+W-H965T,38N>&ULE57?;^(X$'[/7V'EJE,K
M41+R U@6D(#MW>VNVJ+2[CZL[L$D ['JV*SME/;^^AT[D%(=1=J7>.S,?/.-
M/WL\W$KUJ L 0YY++O3(+XS9#() 9P645+?E!@3^64E54H-3M0[T1@'-75#)
M@R@,NT%)F?#'0[<V5^.AK QG N:*Z*HLJ7J9 I?;D=_Q]PMW;%T8NQ",AQNZ
MA@68A\U<X2QH4')6@M!,"J)@-?(GG<$TM?[.X1N#K3ZPB:UD*>6CG7S.1WYH
M"0&'S%@$BL,3S(!S"X0T?NXP_2:E#3RT]^A_N=JQEB75,)/\.\M-,?+[/LEA
M12MN[N3V']C5XPAFDFOW)=O:-TU\DE7:R'(7C Q*)NJ1/N_VX2"@'[X3$.T"
M(L>[3N18?J*&CH=*;HFRWHAF#5>JBT9R3%A1%D;A7X9Q9KRXOYU]O9Q.%E>?
MR.SV>GYULYC<?[Z](>?W=,E!7PP#@VFL<Y#M(*<U9/0.9)=<2V$*3:Y$#OG;
M^ #I-1RC/<=I=!+P2R7:) Y;) JCY 1>W-0<.[SX=VO^,5EJH_"@_'NLZAHT
M.0YJ+\] ;V@&(Q]OAP;U!/[XSS\ZW?#C"<I)0SDYA3Z>V,/+S N1*W(CQ>43
M: ,YN<-!L<R:,UF6>,H71F:/9+*E*M?'BCB9YG@1D_V-M<E- ?5-LF2P)Q#Q
MRD:]LM&.!A5(<?% J*-#J+8(J"8T:A*FB<LD;-32]HB!MR@H+I%S)C"=K#3"
MZ OON[M@Z#5Y H7]@C@W,L>,X$TIIR*#%OE"166I=FI\KQO%WIF7MCN1][>B
M-HO72[RPW4\]O-4K8!;QO$LN2-H.0^^;J\3#H*3=BP]@:](U9J^3(&;2COOD
MA+1I(VUZ4MI7.5MD@3N.Y5S:/I.?4/$DXCLJ_G_S6U9-W,(M"E,)!9E<"_8?
M)LYDB4U?4]<W,ZD-2LNIW2DC#P1O$?V&[X'4F.JLTTZP8W&.("VR+5A68&_C
M'%4F![E09*#X:W>V5I+C&6!B35Z *CP$.2Y8X\UA&'@/AWROGBU=\)PZ9UZ,
M7S13+^TZH^LEG0_6Z'EQSXY]TD6W3BM.PZ,*!@?]M 2U=J^&QIVHA*E;:[/:
M/$R3NA^_NM>OVC55:R8TX;#"T+#=0^E4_5+4$R,WKCLOI<%>[\P"'U=0U@'_
MKZ0T^XE-T#S7XU]02P,$%     @ ]8D'6<=JW-^+ P  [@<  !D   !X;"]W
M;W)K<VAE971S+W-H965T,3<N>&ULK57;CMLV$'WW5PR4H$@ 976S)-NU#:QW
MW28!LC#L;?M0](&6QI:P$JF2U'KS]QU2MM9!'2,%^D)1PYDS9RX<3@]"/JD"
M4<-+77$U<PJMFXGGJ:S FJD;T2"GDYV0-=/T*_>>:B2RW!K5E1?Z?N+5K.3.
M?&IE*SF?BE97)<>5!-76-9-?%UB)P\P)G)-@7>X+;03>?-JP/6Y0_]:L)/UY
M/4I>ULA5*3A(W,V<VV"R&!I]J_![B0=UM@<3R5:()_/S*9\YOB&$%6;:(##Z
M/.,=5I4!(AI_'S&=WJ4Q/-^?T'^QL5,L6Z;P3E1_E+DN9L[(@1QWK*WT6AP^
MXC&>V.!EHE)VA4.G&Z4.9*W2HCX:$X.ZY-V7O1SS<&8P\K]C$!X-0LN[<V19
MWC/-YE,I#B"--J&9C0W56A.YDINB;+2DTY+L]'QYNW[X]/#K!E;+-6P^WJZ7
M\.Z1;2M4[Z>>)@=&S<N.8(L.+/P.6 )?!->%@B7/,?_6WB-B/;OPQ&X17@7\
MW/(;B'P70C\<7L&+^F@CBQ?]>+1_WFZ5EM0<?UV*MX,;7H8S%V:B&I;AS*$;
MH5 ^HS/_Z4V0^#]?(3OLR0ZOH<_O1-VTFMGF%3M8,%5FP'@.]V75:LQAN=I<
MXGP5]3+GQP)A)RJZH27?@S;U!X5:D5#J C0=9]^RV?9L\E<V1MTJZT(BVE-5
MOD#=-06:I@ J*?8EM2JTB2:#1VMRWC^OJAL"N7@R>%=R<B9:14#*!7S)L-&@
M"B81<KH/[P?&C5FBL]U#6Z-D6LC)X('F7LDI.!R\'01^0&L<!? 6DC"A-7"#
M<3RX1R[H[G4671T.]KIC_H$]$]3>YH?B[%PKH/&G-'&B= Y&[C"(W91P1FX4
MIFZ0CH!D?N(&<4*[B$[#8#BP9:41!;C;T<PR63;E*3/\8.9.3C.0.K7,3+)I
M+F1/P Y,Y@KVDG$CU (6@B3&\KZ4A"&D@I8RUE5E53%N_$4^I-9W/$X@2M+_
MQ3/6326^(O[;H>^.AQ%$H1NG/B0^13Z$8.A&H]'@U,G_*9NQ'[M^,C+93!)W
M3&B4S20]93,<N^-D?"P3,LG)2D%#E+JV\&_\P"R)65):3JDG'C^F#I<NMW<V
M@ZF[]O:E411(RW4WCGMI_YC==C/\5;U[";\PN2^Y@@IW9.K?I+$#LGM=NA\M
M&CO1MT+3^V"W!3W(*(T"G>^$T*<?XZ!_XN?_ %!+ P04    " #UB0=9!9<9
MOR,#  !E"P  &0   'AL+W=O<FMS:&5E=',O<VAE970Q."YX;6RUEFUOVC 0
MQ[^*E4G3)DW- P^%#B(%2KM,:T"$;B^FO3#D@*B)G=D&.FD??K83 E4A8^UX
M W'B^]_O?)?+=3:4/? E@$"/:4)XUU@*D5V9)I\M(<7\@F9 Y),Y92D6<LD6
M)L\8X$@;I8GI6%;33'%,#+>C[XV8VZ$KD<0$1@SQ59IB]JL'"=UT#=O8WAC'
MBZ50-TRWD^$%A"#NLQ&3*[-4B>(4"(\I00SF7<.SKWIV0QGH'5]CV/"]:Z1"
MF5+ZH!9^U#4L100)S(22P/)O#7U($J4D.7X6HD;I4QGN7V_5;W3P,I@IYM"G
MR;<X$LNNT3)0!'.\2L28;CY!$9 &G-&$ZU^T*?9:!IJMN*!I82P)TICD__BQ
M.(@] Z=UQ, I#!S-G3O2E-=88+?#Z 8QM5NJJ0L=JK:6<#%160D%DT]C:2?<
MGA?Z(1K>H-%X$ Z"B3?QAP'R@FO4'XPGGA^@T+\-_!N_[P43Y/7[P_M@X@>W
M:#3\XO?]0?@!]3"/.:)S-&+ @0BLC_O=-0@<)_Q]QQ224WDS9P53+V=RCC U
MT1TE8LG1@$00/;4W97QED,XVR)Y3*?AY12Y0S?J ',NIHU!0!BB$A2PN4:%>
M*X^PIM5K1]2O@<]8G.FHY2GT5EQNX!Q]]Z9<,%EV/PX=0:Y9/ZRIWL4KGN$9
M=(U,G2I;@^&^?6,WK8\5Q/62N%ZE[@:K= I,P7)U%OP07Z[0T KJU5Z[MF5W
MS/4!MXW2;>-$M[*I,%DF9(%XG@:.?A_.2 [3> YS&*59HC1/1&&04?8/*,U3
M42Y+E,M*E'L2"XAD56(!LFCN0)$=+)E*G1>63*ND;)VAR%MG(&Z7Q.U7%WG[
M63+;UN%LVM:NH5J5?ON8X A7)K):X87G8N^U?/L,N2Q$_S.TLX-V7IW.0N)I
MTSJ2SUUWMRM;L1MF<K:I3N<Y>KF]:^9V_1SIK/Q$O!1Z]RFP3_T65*3S[VW?
MW)M\4F +/=]Q-*,K(O(AJ+Q;SI!>/CGMMN<#Z!UFBYAPE,!<FEH7E](ORV>Z
M?"%HIN>H*15R*M.72SD' U,;Y/,YI6*[4 [*R=K] U!+ P04    " #UB0=9
MXQW^K+$&   +,P  &0   'AL+W=O<FMS:&5E=',O<VAE970Q.2YX;6RUFUMS
MXC84Q[^*ANYT=F>VP1<PD";,$-]*9T,R(6D?=OH@C #/VA:519+M],-7OH"Q
M410S>_H2L#GG)\GGZ$C^Q[YZH>Q;NB&$H]<X2M+KSH;S[66WFP8;$N/T@FY)
M(GY9419C+@[9NIMN&<'+W"F.NH:F6=T8ATEG?)6?NV?C*[KC49B0>X;271QC
M]OV&1/3ENJ-W]B<>PO6&9R>ZXZLM7I,YX4_;>R:.N@?*,HQ)DH8T08RLKCL3
M_=(W^IE#;O%'2%[2H^\H&\J"TF_9P71YW=&R'I&(!#Q#8/'Q3&P211E)]./O
M$MHYM)DY'G_?T[U\\&(P"YP2FT9_ADN^N>X,.VA)5G@7\0?Z\ALI!Y1W,*!1
MFO]%+Z6MUD'!+N4T+IU%#^(P*3[Q:WDACAP$1^Y@E Y&TZ'WAH-9.IAM6^B5
M#KVV+?1+AWY;!ZMTL-HZ#$J'01ZLXNKFH7$PQ^,K1E\0RZP%+?N2QS?W%A$)
MDRP5YYR)7T/AQ\<WD_ETCNX\=/_@SMW9X^1Q>C=#DYF#;/?A<3*=H?G4GTV]
MJ3V9/:*);=\]S1ZG,Q_=WWV9VE-W_AD]D&>2[(CX#.@Z"8L,2Y;("=. [A*>
MHH\.X3B,TD_H%_0T=]#'#Y_0!Q0FZ'%#=ZFP3:^Z7 PFZU(W*#M^4W3<>*/C
M)KJE"=^DR$V69"GQ=]3^EL*_*R[BX4H:^RMY8RB!O^^2"V1JGY&A&3U)?^SV
M[J9L.#_6NOMCK7MJ=X<$PEU_T]UO[VXH0F$>DMK,>>8;/%E&?ITL4LY$Y?M+
MEFL%KR?G9<O!9;K% ;GNB'J?$O9,.N.??](M[5=9H"%A#B3,A81YD# ?"%9+
ME]XA77HJ^GB.(Y**=97OF*A<D5B=<1(069H4'"OG9(O\\UC7M*ON\W'TE6V=
M&_T6#;J0#7HM&O1/;8PCFUH(^H<0])4A<%,>BGT%072%8L*"C5@4PI0@\KH5
M>Q:R1)RB!2EC)"WW-T4#?65LE)TX-S;]%K&!;-!K,4)?;5.+C76(C:6,C1^N
M. HP6XK+OR3Q-B^G6\)"*HV#$G9N*86$.>IAZN@[P4Q6-2$[X4'"?"!8+2T&
MA[08**_7?I%EQ2+[CYBD*T9CE,W=-<EV=^*.@#"1,X@NHG"-\[Q9X.BMXJIL
M[MS$@80Y V7!*Y*DA8T'V2D?"%:+_? 0^Z$R]LX^LJQ(@L]'62 +[;!%;1Z^
M?P&=4\YI($YMS)- *$=W;B" 8+5 C Z!&"EWNN(>"Z_7C(C9):*QGY+JO>X(
M<IY!PAQ(F L)\R!A/A"LEC"Z5MWP:^_O=J7WV]KI+!T80ZLQ3Z5FO:'1F*H2
M,]/J6WICMLK,!L->@^:IQW1N *!H]0@<22ZZ,@*3(& [,5U=L;E-4G'KD:DE
M=WQ#&/H2XD48B3M6<?;K+8D7A$GGL+J%<R<Q*,T!I;F@- ^4YD/1ZGED5'ED
M ,L<)1 J;2!I#BC-!:5YH#0?BE9/FTH<TY5BRMBF29XAZ"7DFU)C%J4G*DO/
M=VGBF"UV<.IVS\Z'%DVZH$UZ)>UX#WJR=_3?,:H'I9*@=+4&]23FKU@2YEQL
MY-XI_9!ZCPU*<T!I+BC- Z7Y4+1ZNE1RF=X'W_?KD&*4#4IS0&DN*,T#I?E0
MM'KB5%J>KE:YWM[]6Z?EMG]2_6RI6=^RFKO_4S/3,)OW$J[,S+2L?G/W#RJ:
M0='J$:AD,UVMF]DXP4NL+O&@4A@HS0&EN: T#Y3F0]'J>5));/H0OL1#"ELV
M*,T!I;F@- ^4YD/1ZHE328*Z4D!2E/B11+DQ!\T*+['JC_1F@3^U,BW3;-9W
MB55O-&R6=U!U#8I6?PBDDM<,M;Q6Z#BJZJX&G#M)06D.*,T%I7F@-!^*5D^3
M2@,T=/#J;H"*?J T!Y3F@M(\4)H/1:LG3B7Z&4IUZ.WJ7OK5_H'6&S6*N\3(
M-!K;;4=BU&\J\J[$R!HTFO/48SG[RO\?NIE1Z6:&6C>[Q:]AO(L/M1W]BR91
M5 KW=O:D(SN6[<7//J%KAK>;,!"_)P')=+=<I7T(TV_'AL432,I% _0)-5":
M TIS06D>*,V'HM4SL!()C1[\H@$J%X+2'%":"TKS0&D^%*V>.)5<:*@?K]NG
MRI:PK KAM?0!G!(R.BKIVH5F-)>0-E9.*RNWE96G'MS9H0 5X+I'C]['A*WS
MMRI2E#_X7CRP?#A[>'-CDK^OT#A_HU_:NN2\HU^ZQ7L9%;YX3>06LW68I"@B
M*]&4=C$0 V/%FQ?% :?;_,'_!>6<QOG7#<%+PC(#\?N*4KX_R!HXO/\R_@]0
M2P,$%     @ ]8D'6=C$2_1. @  V 0  !D   !X;"]W;W)K<VAE971S+W-H
M965T,C N>&UL?51A;]HP$/TK5B9-FU21$"B;NA I!-IE6@,B=/LP[8-)#F+5
ML3/;@>[?SW9"RB3*%^([WWOW7KA+<.3B698 "KU4E,FI4RI5W[FNS$NHL!SP
M&IB^V7%18:5#L7=E+0 7%E11U_>\B5MAPIPPL+F5" />*$H8K 22355A\7<&
ME!^GSM Y)=9D7RJ3<,.@QGO(0#W5*Z$CMV<I2 5,$LZ0@-W4B89WL[&IMP4_
M"!SEV1D9)UO.GTV0%%/',X* 0JX, ]:/ \1 J2'2,OYTG$[?T@#/SR?V>^M=
M>]EB"3&G/TFARJGSV4$%['!#U9H?OT+GY];PY9Q*^XN.7:WGH+R1BE<=6"NH
M"&N?^*5[#V< ?_0&P.\ OM7=-K(JYUCA,!#\B(2IUFSF8*U:M!9'F/E3,B7T
M+=$X%<ZB+,G0\AZMUHMLD6ZB3;),493.4;Q8;Z(D15GRD";W21RE&Q3%\?(I
MW23I UHMOR=QLLANT)S(G#=,2?1A#@H3*C\&KM+:3 <W[W3,6AW^&SHFZ)$S
M54JT8 44_^-=[:DWYI^,S?RKA-\:-D C[P;YGC_N-5XA'O5O;&2)1V\0O]K]
M%6VE$GJN?E_RV[*,+[.87;N3-<YAZNAEDB .X(3OWPTGWI<K&L>]QO$U]C!M
MJBT(Q'<HIUA*D/9HITFGBY.#2[);XEM+;#;Z$$X"]W"NQ3V;-DVWMSLED:5L
M!Z_/]FL;M=/Z6M[N_",6>\(DHK#34&_P2?<5[1ZU@>*UG=TM5UJ[/9;ZTP/"
M%.C['>?J%)@&_<<L_ =02P,$%     @ ]8D'63H#T59@ P  71   !D   !X
M;"]W;W)K<VAE971S+W-H965T,C$N>&ULQ5AM;]HZ&/TK5JXT[4I5$X>7O@R0
M H7=7*TI K;[H=H'$Q[ 6A)GME-::3]^MJ$)DUJSFQ7QI=A)GN-S'I]P<#L;
MQK^)-8!$CVF2B:ZSEC*_=ET1KR$EXISED*D[2\93(M64KUR1<R +4Y0FKN]Y
M;3<E-'-Z'7-MS'L=5LB$9C#F2!1I2OA3'Q*VZ3K8>;XPH:NUU!?<7B<G*YB"
M_)R/N9JY)<J"II )RC+$8=EU GS=QU>ZP#SQA<)&[(V1EC)G[)N>A(NNXVE&
MD$ L-011'P\P@"312(K']QVH4ZZI"_?'S^@C(UZ)F1,! Y;\1Q=RW74N';2
M)2D2.6&;?V GJ*7Q8I8(\Q=M=L]Z#HH+(5FZ*U8,4IIM/\GCKA%[!;CY2H&_
M*_ -[^U"AN4-D:37X6R#N'Y:H>F!D6JJ%3F:Z5V92J[N4E4G>_U@&D[1W0B-
M)\/I,)H%L_ N0D%T@P;#R2P((S0-/T;A*!P$T0P%@\'=YV@61A_1^.Y3. B'
MTS,TYLHC7#XADBW0\'M!<[5K\@Q%RE-LB8(X+M(B(1(6Z :4=6)*S(:\OP%)
M:"+^[KA2*=%\W'C'NK]E[;_"^M\B.T<-[PSYGM_\M=Q5#2B[X)==\ U>\Q6\
MDK71<$OBM7J /Z'[6TCGP+^B'^B69C0MTO+22Z2MB^CWZUKD)(:NH[H@@#^
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
M\ 7?@3"[-9L95+VIT-H-9>844R7T*M4X%?3#-$YA/(+)=)@.DUDXB\<)A,D
MHN%T%L8)I/%-$H_B*$QF$$;1^#Z9Q<D-3,:W<10/TPL8$2K@@>0E E_"B#+"
M,DIRB)E4HM0GKB2<#5 1FLMS^ CWZ0#.WI_[MM+ZC0H[:[3V:ZWN*UJ[<,>9
M6DL8L@4NGN-M[;LU[^[-]]V3A-]+=@F><P&NXW:.Z(G>#O=.R/':L_ J/N\5
MOK<T\F<XUX7^^7\=ZU_-WSG.;P+A6FY(ACU+WWB)8HM6\.'=5=?Y>LS\?R)[
MUHI.VXK.*?9@)@B32Q02*%,<SG3^Z)Z<PRUN,0?OF/>:L%L1FNS:!HYO;P\-
MG=I1J[0/+E*!8E7EBX2,ETS5OU4[VT986-W<%_-]'6UU$OVCJ7/QCH@591)R
M7&I*Y_*S#@919TU=*+ZIKNN<*WWYJ^%:QS,*LT&O+SE7^\)\H W\X"]02P,$
M%     @ ]8D'61V6[]&( @  :08  !D   !X;"]W;W)K<VAE971S+W-H965T
M,C0N>&ULK55A;YLP$/TK)U9-K=0% FDW=0D2A;1C:DD4TNW#M \.7!*K!E/;
M2;I_/QM(E$IIETG] C[[WK/?.WST-UP\RB6B@N>"E7)@+96JKFQ;9DLLB.SP
M"DN],N>B($J'8F'+2B#):U#!;-=Q+NV"T-+R^_7<6/A]OE*,EC@6(%=%0<2?
M:V1\,["ZUG9B0A=+929LOU^1!::H'JJQT)&]8\EI@:6DO 2!\X$5=*\BS^37
M"3\H;N3>&(R2&>>/)HCS@>68 R'#3!D&HE]K#)$Q0Z2/\=1R6KLM#7!_O&6_
MJ;5K+3,B,>3L)\W5<F!]L2#'.5DQ->&;;]CJN3!\&6>R?L*FS74LR%92\:(%
MZQ,4M&S>Y+GU80_0[;T"<%N >RS :P'>L8!>"^C5SC12:A\BHHC?%WP#PF1K
M-C.HS:S16CXM3=E3)?0JU3CE7P=IG,+H!L:383I,IL$T'B40)!&$P\DTB!-(
MX]LDOHG#()E"$(:CAV0:)[<P'MW%83Q,SR'(,KXJE80)9DC79,802)G#\+G2
MQ<4<0H$Y57#'I40)IQ$J0ID\@T_PD$9P>G(&)T!+N*>,Z4]!]FVEA9GCV5DK
MXKH1X;XBXONJ[(#GG(/KN+T#\/!M>(29AG=KN'< 'AT/=U_";5V-74G<74G<
MFL][A>\__?P5S*02^O[\/F1<LU7O\%:FIUS)BF0XL'33D"C6:/D?/W0OG:^'
M;'Q/LNB=R%Y8[.TL]MYB]P.FVQTI,P3=. &WQF:-L:PV]I";#6O7J6E-1UW[
M3J?;M]?[+AV3%/TCJ5%E[]UKTX3OB5C04@+#N48YG<\7%HBFL36!XE5]U6=<
MZ<91#Y?Z7X#").CU.>=J&YCNL?N[^'\!4$L#!!0    ( /6)!UF Q!S;:@,
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
MJ!9"-8[2S QN&Y$.HA.YO= ^SR,Y*0\$/Y$B5KG<4FU#^Y90S8=J%*HQJ!9
MM1"J<91F?ENE;5^Z^/:E"VU?0C4?JE&HQJ!: -5"J,91FIG4;?O21;<O[>#>
M*0UM7T(U"M78EAUA:5]"YQ%"-8[2S/1MVY>NO7V)JK;K8=;K8Z?_ZH+JA7TV
M>V<KM.<(U1A4"Z!:"-4X2C,SN.TYNMN^_+A+M7VKQTUB<7 >%7J=[;7W59X=
MO%SDWK'^ML]S[_,ZM)$)U2A48U M@&HA5.,HS3Q2VD:FV\?7W]!^)53SH1J%
M:@RJ!5 MA&H<I9E)W78U77M7\SOJ;VA7$JKY4(U"-;9E1]CJ;V@'$JIQE&:F
M;]N!=.W?H(35W]"N)%3SH1JM->.3ACL:>>8G#08=-(!J(53C*,W,X+;=Z-J[
M7#^F_KZ8)6)*Z).(E^5=ILCU=*K#I;T A[8QH9H/U2A48U M@&HA5.,HS3Q4
MVM:F.\07X- V)E3SH1J%:@RJ!5 MA&H<I9E)W78[77NW\SL*<&BC$JKY4(U"
M-;9E1UC^W 0ZCQ"J<91FWCFM;4IZUOX0K "W#[-O4D,UO];62V;W:/#JZCR%
MCLJ@6@#50JC&4=HJA;MK=\E,A;RO;K%:D#A?9FIU<\AF:7,;U[/JYJ7?+#]W
MCNGJ9JPML[HW[&4D[Y.L(',QU63O_9%.#;FZW>KJB<H7U;TX[W*E\K1Z.!/1
M1,AR!?WZ-,_5RY-R@.:FM^-_ 5!+ P04    " #UB0=9OG;C;E@#  #."@
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
M%QK*"3KX$,\0?.U/N7Q\NJY5R-.ID$XP7R=8H FLHE"C5*BA#)_GE8@/@&>
M"JTH2"A=<;5F!&= S+\)FHNO9!=F5(;9#9]4<Y/;.NF47J^53B>8GX,U))C8
MQZQ[CNM:=L=<[VMR7,MMV^UV6:M"=K,DNZDD>[N0#4XO9%0Y92GAKV55)YBO
M$RS0!%;1J%5JU/J14U9+IT(ZP7R=8($FL(I"#Z5"#^HH$L%2*!3M*P1SA>ID
MR1&;^T%O6=60'UY0QS^NXQW6"=1U*EUNEUUN*[M\8JLU:!_/4J)BI5M*Y&L'
MT04. TT.*T39UBZAL,Y1U:C=XUM'36\T#[E28U]+UB4N UTNJW3MY5_V.;J:
MM7391VWW[/8A74KLJ^FZP&6@RV65+F='EW..KE8M7<YQ8+0.V5)"7\W6>8^!
M+H]5LG:9F:U.S3A9#[5DN4=-;QYRI36?.N\PT.6P2M4N3[*5F_S>!!$8X3E*
M_N.+6G!Z'2M@]A<7VVT<KF1J9U>SYQVQ=^PST.6S2N NC;'5><P($GELB;YG
M>ZWV<>WN32N:KQ4MT(5656N7!]G-'[G)MK7F05K1?*UH@2ZTJDZ[7,A6;N2_
M::NMAKQ:'*TY4(&V/WT>S6-:4QMS[V@\@V0N[R0HYW*%6'[&69:6]QY]>=I_
M4#ZP'X=V3;DO[DGD4?P./K]D>0K)/$$4I'#&75GW+1[R)+^WR%\87LJ#^2EF
M#&?R<0'#&!)1@7^?8<RV+\)!>7O4^Q]02P,$%     @ ]8D'6?5NY&$F!0
M&1\  !D   !X;"]W;W)K<VAE971S+W-H965T,S$N>&ULO5E;;^(X%/XK5G:T
MZDC3YIY %Y!*<YE9J54%V]V'T3RXB8&H2<S:!F:D_?'K7!I(,"GL6-N'DICS
M?=^QS[&/L4<[3%[I"B$&OF=I3L?*BK'UK:K2:(4R2&_P&N7\FP4F&63\E2Q5
MNB8(QB4H2U5#TQPU@TFN3$9EVQ.9C/"&I4F.G@B@FRR#Y,<4I7@W5G3EK6&6
M+%>L:% GHS5<HCEBS^LGPM_4AB5.,I33!.> H,58N=-O0]TN *7%GPG:T8-G
M4'3E!>/7XN5+/%:TPB.4HH@5%)!_;-$]2M."B?OQ=TVJ-)H%\/#YC3TH.\\[
M\P(INL?I7TG,5F-EH( 8+> F93.\^XSJ#I4.1CBEY7^PJVTU!40;RG!6@[D'
M69)7G_![/1 ' ,XC!A@UP.@"K!, LP:8YP*L&F"="[!K@'UN'YP:X)RKX-8
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
MWFGG1/U.U1W%B^JJ7W&E'XZJF>JG'859H.<WG*O'CGD]VC\+P6]02P,$%
M  @ ]8D'63Z[!V@Z P  [A,   T   !X;"]S='EL97,N>&ULW5AM;]HP$/XK
M4;I.K30U0-:4K("T(56:M$V5V@_[5AGB!$N.G3FF@_WZ^>P07NI#K!\V6%")
M[Q[?<X]]E\;MH-9+3A]FE.I@47)1#\.9UM6'**JG,UJ2^DI65!@DEZHDVIBJ
MB.I*49+5$%3RJ-?I)%%)F A' S$O[TI=!U,Y%WH8)JTK<+?/V3#L)N_#P-&-
M94:'X=/%VQ]SJ6_?!.Y^]N[LK/-T>;OKO[# 91AY2:\/(+WJF MEMBA&GQQ&
MOX\<H[[9IK;3SPV1"SS'POH'*=HC""-./7J,_+4D,&QPU-1[-,BE6)<]#IW#
ML).2!L^$#\,QX6RB&$3EI&1\Z=P]<$PEERK0IM],NBYXZE\.[CH+6K'A*9F0
MRN9V&=SWI)F^ ZPL$,@X;P7V0N<8#2JB-57BSAAVLG6^@()F_+BLC,)"D66W
M=QVN ^S-))E(E5'5INF&*]=HP&D.<A0K9G#7LHH U%J69I Q4DA!K(951#,P
MM%/*^0,\I]_S+>Y%OE&W#E1-M$,CJ!DZ&F< _R:;X]ZDC5_%&U3L6>I/<[,<
M86UH-'JO:,X6UE[DK0",O8NSDZKBRX^<%:*D;O$')QP-R"HNF$G%?IELT"I3
MXZ J#)ZITFRZZ?FI2/5(%WK53HL<U]P[0<U_=Y\+*J@B?%.TZ?UCWN57*XYO
M_I5D^UME5[!78_/R/7:1UZ<@,CD%D2?1D_U3$)D>O\CX.#5&S2%CXR2S=8YI
MO0&<%X?A-SA]\G728#)G7#/16#.6952\.,X8>DTFYH^9+7XS/Z,YF7/]V(+#
M<#W^2C,V+]-VUCUL1#-K/?X"R^LF[6'5Y&(BHPN:C1M3%1,[#,S 9&TN"-A%
M[NSE1[ 8A_D1P+ \F (LQD5A>?ZG]?31]3@,T];W(GTTIH_&N"@?,K8?+(\_
M)C67?Z5I&L=)@NWH>.Q5,,;V+4G@Q\^&:8,(+ ]D^K.]QJN-=\C^/L!JNJ]#
ML)7BG8BM%-]K0/S[!A%IZJ\VE@<BL"I@O0/Y_7F@I_PQ<0Q5Q;1A3S".I"F&
M0"_Z>S1)D-U)X..O#_:4Q'&:^A' _ KB&$/@:<013 %HP) XMN_!G?=1M'I/
M1>O_\(U^ U!+ P04    " #UB0=9EXJ[',     3 @  "P   %]R96QS+RYR
M96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/V!(%BD6=OZ_:I7&0"QEY
M/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"KM0L'C6'TD!$VV-#L%HL
M/D N&6:WO606IW.D5XA<UYVE/=LO3T%O@*\Z3'%":4A+,P[PS=)_,O?S##5%
MY4HCE5L:>-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H5 J.
MW&,EC'%BM/XU@LD/['X 4$L#!!0    ( /6)!UG/BI63/P,  "@6   /
M>&PO=V]R:V)O;VLN>&ULQ9A=;YLP%$#_BL73)K4C0))^J*E$$C=!:R "5FU/
ME0-.8Q7L")QVZZ^?@:5UU/5J+UZ>P!\QQ]>QC^VK9U$]KH1X1#_+@M<C:R/E
M]M*VZVQ#2U)_$5O*5<E:5"61*ED]V/6VHB2O-Y3*LK#=7F]HEX1QZ_IJW]:R
MLO6$D#233'"5V63<,?I<OY4W2?3$:K9B!9._1E;[7E +E8RSDKW0?&3U+%1O
MQ/-<5.Q%<$F*)*M$48PLIRNXHY5DV;OLI(%,R:IN<R19Q42!C*QA3S6X9E4M
MVQIM^T0Q/E%5N4OMI+AAA:35E$@ZJ\1NR_A#TXSJA:UUHXW#_MD%\;+ZES"*
M]9IE="JR74FY[.)8T:(!Y/6&;6L+<5+2D;6O@@C/$>92!0D%O&M*U6UZJCX=
MY%VOI<+58EA=,E50!7D+;@YR(GA.>4USI-YJ4;!<<>1H3 K",XHT2!> =(\(
M>>]JD!X Z1T%,FEPU$\UR#X V3\BY$$D!P#DX)B0G@8Y!""'9B''?A(D*+I!
MRQ@G.$S]-(A"Y(=3-,%QZFN09P#DF5G(,$IQ@I;^#W]\BUNXVRB<G:8X7J I
M'FN0YP#DN5G(()Q$"XQ2_[O&<P'P7)CE2=)H\O54C2]68QDMECA,VL'5%^P>
MM&+WS/)A/PZ#<*;&%<<HF?LQULE EYB62;18!.E"S8:DFPE1F"I2'$X"G.B0
MD$L<PS)I(X9BO/P63^9JD-4$CF:QOVB)D[F."=G$,:P3<'TY6*D=R">.8:'
MF/I:[4!&<0PKY:,YC3ZIC6-#\H8).<4Q+)7W4_L/8/U91X2,XAA6"CS@?1T3
M<HIC6"HPYD#'A%3C&'8-C#G4M]^0<ES#RH$QSW1,R#^N8?_ F.<Z)GB:,6P@
M&/-"QX0,Y![10/?M#N@5$S*0>T0#W;?;H5=,R$"N80.!6_$#G[N0@5S#!GK;
MC*-/4RH)*P[4XT+J<0VKYR.)GR"WYW@'=Q60>ES#ZOD8,]F5)=$Q(?6X1SKF
MG*!0\-,G_5(%4H_WWT\[?_UC>I!W/,/> 8\4A_=3D'>\UCOV_F8RIVO&:1ZJ
M3]0J/R-%MJQ0\^C.4/U!LW59[XIBHO(B?BM(OK_HW%_27O\&4$L#!!0    (
M /6)!UF*$X-D8P$  +<3   :    >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E
M;'/-V,V.@C 4AN%;(;T RSE5U(FXFHW;B3= L("1O]!.1N]^""[P([.8C>E9
MD99P^B8D3PB'+UMG_MJUKKKV+KHW=>M257G??VCM\LHVF5MUO6W'.T4W-)D?
MET.I^RR_9:75',>)'EYGJ./A=69T?O3V/Q.[HKCF]K/+OQO;^C\&ZY]NN+G*
M6J^B<S:4UJ=*W^MYV^GI0JMQLHI.EU0-IPLI'3J((8C#!QD(,N&#UA"T#A^T
M@:!-^* $@I+P05L(VH8/VD'0+GS0'H+VX8,H1AEC 4D+K 5H3<@U"?":$&P2
M(#8AV23 ;$*T28#:A&R3 +<)X28!<A/230+L)L2;!.C-J#<+T)M1;Q:@-R\^
MM@7HS:@W"]";46\6H#>CWBQ ;T:]68#>C'JS +T9]68!>C/JS0+T-JBW$:"W
M0;V- +T-ZFW>J;?SC]JZN>>YQO/?2;4?G[7S\=/RN;EX+Q/.&O[3'7\!4$L#
M!!0    ( /6)!UE5*9*/B0$  %X4   3    6T-O;G1E;G1?5'EP97-=+GAM
M;,V8S6[",!"$7R7*%1%CIZ4_ BYMKRV'OH";;(A%$ENVH?#V=<*/U(I&("IU
M+K$2[\Z,O=)WR.1]:\A%F[IJW#0NO3>/C+FLI%JZ1!MJPDZA;2U]>+4+9F2V
ME MB8C0:LTPWGAH_]*U&/)L\4R%7E8]>-N&S4[J9QI8J%T=/N\+6:QI+8RJ5
M21_VV;K)?[@,]PY)Z.QJ7*F,&X2"F)UT:'=^-]CWO:W)6I53-)?6O\HZ5+%-
MQ9S?5N22?HD3&751J(QRG:WJT)(X8TGFKB3R=97L1 ?]SC[<,.V>_&K_3J;/
M,%3.K38N3,S2Y7:'D;3=0Q.$R'K5?\2C8Y"^^GS43CNG_$SO<+V?VBZ[>3C6
M+=??\?<9'_4OS"% <J0@.6Y <MR"Y!B#Y+@#R7$/DN,!) <?H01!(2I'02I'
M82I'@2I'H2I'P2I'X2I' 2M'(:M (:M (:M (:M (:M (:M (:M (:M (:M
M(:M (6N*0M84A:SI?Y+U0^OE7__Q:M>DEJHY^+/NM^+L"U!+ 0(4 Q0    (
M /6)!UD'04UB@0   +$    0              "  0    !D;V-0<F]P<R]A
M<' N>&UL4$L! A0#%     @ ]8D'66SNW 3P    *P(  !$
M ( !KP   &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @ ]8D'69E<G",0
M!@  G"<  !,              ( !S@$  'AL+W1H96UE+W1H96UE,2YX;6Q0
M2P$"% ,4    " #UB0=906TD)-<%  #>'@  &               @($/"
M>&PO=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%     @ ]8D'60-YZNL?
M!P  RQT  !@              ("!' X  'AL+W=O<FMS:&5E=',O<VAE970R
M+GAM;%!+ 0(4 Q0    ( /6)!UE-+HS?) ,  *H)   8              "
M@7$5  !X;"]W;W)K<VAE971S+W-H965T,RYX;6Q02P$"% ,4    " #UB0=9
M[RZLK=D%   ,'   &               @('+&   >&PO=V]R:W-H965T<R]S
M:&5E=#0N>&UL4$L! A0#%     @ ]8D'6<5T-!G<!0  C1D  !@
M     ("!VAX  'AL+W=O<FMS:&5E=',O<VAE970U+GAM;%!+ 0(4 Q0    (
M /6)!UE#&9><K L   )M   8              " @>PD  !X;"]W;W)K<VAE
M971S+W-H965T-BYX;6Q02P$"% ,4    " #UB0=9XPJ/:G$6   ;/0  &
M            @('.,   >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL4$L! A0#
M%     @ ]8D'6:O+7?=% P  . <  !@              ("!=4<  'AL+W=O
M<FMS:&5E=',O<VAE970X+GAM;%!+ 0(4 Q0    ( /6)!UF=%/U_2@(  %X%
M   8              " @?!*  !X;"]W;W)K<VAE971S+W-H965T.2YX;6Q0
M2P$"% ,4    " #UB0=9:A"<;NL'  "_%   &0              @(%P30
M>&PO=V]R:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    ( /6)!UD.!V<D
M8@0  "L*   9              " @9)5  !X;"]W;W)K<VAE971S+W-H965T
M,3$N>&UL4$L! A0#%     @ ]8D'60#KT7[6 @  . 8  !D
M ("!*UH  'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"% ,4    " #U
MB0=9('91,:("   =!@  &0              @($X70  >&PO=V]R:W-H965T
M<R]S:&5E=#$S+GAM;%!+ 0(4 Q0    ( /6)!UEK'(?1HQ(  $HW   9
M          " @1%@  !X;"]W;W)K<VAE971S+W-H965T,30N>&UL4$L! A0#
M%     @ ]8D'6;66H7;& P  /@@  !D              ("!ZW(  'AL+W=O
M<FMS:&5E=',O<VAE970Q-2YX;6Q02P$"% ,4    " #UB0=9%]F4/'$#  "Z
M!P  &0              @('H=@  >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM
M;%!+ 0(4 Q0    ( /6)!UG':MS?BP,  .X'   9              " @9!Z
M  !X;"]W;W)K<VAE971S+W-H965T,3<N>&UL4$L! A0#%     @ ]8D'6067
M&;\C P  90L  !D              ("!4GX  'AL+W=O<FMS:&5E=',O<VAE
M970Q."YX;6Q02P$"% ,4    " #UB0=9XQW^K+$&   +,P  &0
M    @(&L@0  >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+ 0(4 Q0    (
M /6)!UG8Q$OT3@(  -@$   9              " @92(  !X;"]W;W)K<VAE
M971S+W-H965T,C N>&UL4$L! A0#%     @ ]8D'63H#T59@ P  71   !D
M             ("!&8L  'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6Q02P$"
M% ,4    " #UB0=9\(/?\=@"   M!P  &0              @(&PC@  >&PO
M=V]R:W-H965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    ( /6)!UD:N4@,CP(
M /P%   9              " @;^1  !X;"]W;W)K<VAE971S+W-H965T,C,N
M>&UL4$L! A0#%     @ ]8D'61V6[]&( @  :08  !D              ("!
MA90  'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6Q02P$"% ,4    " #UB0=9
M@,0<VVH#  #&#0  &0              @(%$EP  >&PO=V]R:W-H965T<R]S
M:&5E=#(U+GAM;%!+ 0(4 Q0    ( /6)!UF^D#"-K (  ,\&   9
M      " @>6:  !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL4$L! A0#%
M  @ ]8D'64 "U]9L @  F@<  !D              ("!R)T  'AL+W=O<FMS
M:&5E=',O<VAE970R-RYX;6Q02P$"% ,4    " #UB0=9?5,RVR,'    5P
M&0              @(%KH   >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;%!+
M 0(4 Q0    ( /6)!UF^=N-N6 ,  ,X*   9              " @<6G  !X
M;"]W;W)K<VAE971S+W-H965T,CDN>&UL4$L! A0#%     @ ]8D'6?+^Z0R!
M!   21H  !D              ("!5*L  'AL+W=O<FMS:&5E=',O<VAE970S
M,"YX;6Q02P$"% ,4    " #UB0=9]6[D828%   9'P  &0
M@($,L   >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0    ( /6)
M!UE]=BMED0(  #@(   9              " @6FU  !X;"]W;W)K<VAE971S
M+W-H965T,S(N>&UL4$L! A0#%     @ ]8D'63Z[!V@Z P  [A,   T
M         ( !,;@  'AL+W-T>6QE<RYX;6Q02P$"% ,4    " #UB0=9EXJ[
M',     3 @  "P              @ &6NP  7W)E;',O+G)E;'-02P$"% ,4
M    " #UB0=9SXJ5DS\#   H%@  #P              @ %_O   >&PO=V]R
M:V)O;VLN>&UL4$L! A0#%     @ ]8D'68H3@V1C 0  MQ,  !H
M     ( !Z[\  'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%
M  @ ]8D'654IDH^) 0  7A0  !,              ( !AL$  %M#;VYT96YT
A7U1Y<&5S72YX;6Q02P4&     "@ * #/"@  0,,

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.2.u1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>130</ContextCount>
  <ElementCount>191</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>32</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>7</UnitCount>
  <MyReports>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000100 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/DocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>010000 - Statement - Condensed Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/CondensedConsolidatedBalanceSheets</Role>
      <ShortName>Condensed Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>010100 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/CondensedConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>020000 - Statement - Condensed Consolidated Statements of Operations and Comprehensive Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome</Role>
      <ShortName>Condensed Consolidated Statements of Operations and Comprehensive Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>030000 - Statement - Condensed Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows</Role>
      <ShortName>Condensed Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>040000 - Statement - Condensed Consolidated Statements of Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity</Role>
      <ShortName>Condensed Consolidated Statements of Stockholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>060100 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPolicies</Role>
      <ShortName>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>060200 - Disclosure - NOTES PAYABLE AND LONG-TERM DEBT</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://tandyleather.com/role/NotesPayableAndLongtermDebt</Role>
      <ShortName>NOTES PAYABLE AND LONG-TERM DEBT</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>060300 - Disclosure - INCOME TAX</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/IncomeTax</Role>
      <ShortName>INCOME TAX</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>060400 - Disclosure - STOCK-BASED COMPENSATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/StockbasedCompensation</Role>
      <ShortName>STOCK-BASED COMPENSATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>060500 - Disclosure - EARNINGS PER SHARE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/EarningsPerShare</Role>
      <ShortName>EARNINGS PER SHARE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>060600 - Disclosure - COMMITMENTS AND CONTINGENCIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/CommitmentsAndContingencies</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>060700 - Disclosure - SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchases</Role>
      <ShortName>SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>070100 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies</Role>
      <ShortName>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>080100 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesTables</Role>
      <ShortName>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPolicies</ParentRole>
      <Position>15</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>080400 - Disclosure - STOCK-BASED COMPENSATION (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/StockbasedCompensationTables</Role>
      <ShortName>STOCK-BASED COMPENSATION (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://tandyleather.com/role/StockbasedCompensation</ParentRole>
      <Position>16</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>080500 - Disclosure - EARNINGS PER SHARE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/EarningsPerShareTables</Role>
      <ShortName>EARNINGS PER SHARE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://tandyleather.com/role/EarningsPerShare</ParentRole>
      <Position>17</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>090100 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Basis of Presentation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails</Role>
      <ShortName>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Basis of Presentation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>090102 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Revenue Recognition and Discounts (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails</Role>
      <ShortName>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Revenue Recognition and Discounts (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>090104 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Discounts (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesDiscountsDetails</Role>
      <ShortName>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Discounts (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesTables</ParentRole>
      <Position>20</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>090106 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Property and Equipment, Net of Accumulated Depreciation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails</Role>
      <ShortName>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Property and Equipment, Net of Accumulated Depreciation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>090108 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Inventory (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesInventoryDetails</Role>
      <ShortName>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Inventory (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesTables</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>090110 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Fair Value of Financial Instruments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails</Role>
      <ShortName>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Fair Value of Financial Instruments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>090112 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Accounts Receivable and Expected Credit Losses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails</Role>
      <ShortName>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Accounts Receivable and Expected Credit Losses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>090114 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Other Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails</Role>
      <ShortName>BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Other Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>090200 - Disclosure - NOTES PAYABLE AND LONG-TERM DEBT (Details)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails</Role>
      <ShortName>NOTES PAYABLE AND LONG-TERM DEBT (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://tandyleather.com/role/NotesPayableAndLongtermDebt</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>090300 - Disclosure - INCOME TAX (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/IncomeTaxDetails</Role>
      <ShortName>INCOME TAX (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://tandyleather.com/role/IncomeTax</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>090400 - Disclosure - STOCK-BASED COMPENSATION, 2013 and 2023 Restricted Stock Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails</Role>
      <ShortName>STOCK-BASED COMPENSATION, 2013 and 2023 Restricted Stock Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>090402 - Disclosure - STOCK-BASED COMPENSATION, Summary of Activity for Non-vested Restricted Stock Unit Awards (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails</Role>
      <ShortName>STOCK-BASED COMPENSATION, Summary of Activity for Non-vested Restricted Stock Unit Awards (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>090404 - Disclosure - STOCK-BASED COMPENSATION, Non-vested Service-based Restricted Stock Unit Awards (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails</Role>
      <ShortName>STOCK-BASED COMPENSATION, Non-vested Service-based Restricted Stock Unit Awards (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>090500 - Disclosure - EARNINGS PER SHARE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/EarningsPerShareDetails</Role>
      <ShortName>EARNINGS PER SHARE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://tandyleather.com/role/EarningsPerShareTables</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="ef20030083_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>090700 - Disclosure - SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchasesDetails</Role>
      <ShortName>SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchases</ParentRole>
      <Position>32</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-Q" isDefinitelyFs="true" isUsgaap="true" original="ef20030083_10q.htm">ef20030083_10q.htm</File>
    <File>tlfa-20240630.xsd</File>
    <File>tlfa-20240630_cal.xml</File>
    <File>tlfa-20240630_def.xml</File>
    <File>tlfa-20240630_lab.xml</File>
    <File>tlfa-20240630_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>image00001.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="1">http://fasb.org/srt/2024</BaseTaxonomy>
    <BaseTaxonomy items="520">http://fasb.org/us-gaap/2024</BaseTaxonomy>
    <BaseTaxonomy items="29">http://xbrl.sec.gov/dei/2024</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>50
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "ef20030083_10q.htm": {
   "nsprefix": "tlfa",
   "nsuri": "http://tandyleather.com/20240630",
   "dts": {
    "inline": {
     "local": [
      "ef20030083_10q.htm"
     ]
    },
    "schema": {
     "local": [
      "tlfa-20240630.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2004/ref-2004-08-10.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/2023/calculation-1.1.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd",
      "https://xbrl.sec.gov/country/2024/country-2024.xsd",
      "https://xbrl.sec.gov/currency/2024/currency-2024.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd",
      "https://xbrl.sec.gov/exch/2024/exch-2024.xsd",
      "https://xbrl.sec.gov/naics/2024/naics-2024.xsd",
      "https://xbrl.sec.gov/sic/2024/sic-2024.xsd",
      "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "tlfa-20240630_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "tlfa-20240630_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "tlfa-20240630_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "tlfa-20240630_pre.xml"
     ]
    }
   },
   "keyStandard": 181,
   "keyCustom": 10,
   "axisStandard": 12,
   "axisCustom": 0,
   "memberStandard": 23,
   "memberCustom": 9,
   "hidden": {
    "total": 12,
    "http://fasb.org/us-gaap/2024": 6,
    "http://xbrl.sec.gov/dei/2024": 6
   },
   "contextCount": 130,
   "entityCount": 1,
   "segmentCount": 32,
   "elementCount": 307,
   "unitCount": 7,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2024": 520,
    "http://xbrl.sec.gov/dei/2024": 29,
    "http://fasb.org/srt/2024": 1
   },
   "report": {
    "R1": {
     "role": "http://tandyleather.com/role/DocumentAndEntityInformation",
     "longName": "000100 - Document - Document and Entity Information",
     "shortName": "Document and Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets",
     "longName": "010000 - Statement - Condensed Consolidated Balance Sheets",
     "shortName": "Condensed Consolidated Balance Sheets",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "c20240630",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240630",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://tandyleather.com/role/CondensedConsolidatedBalanceSheetsParenthetical",
     "longName": "010100 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)",
     "shortName": "Condensed Consolidated Balance Sheets (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "c20240630",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240630",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome",
     "longName": "020000 - Statement - Condensed Consolidated Statements of Operations and Comprehensive Income",
     "shortName": "Condensed Consolidated Statements of Operations and Comprehensive Income",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "c20240401to20240630",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240401to20240630",
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows",
     "longName": "030000 - Statement - Condensed Consolidated Statements of Cash Flows",
     "shortName": "Condensed Consolidated Statements of Cash Flows",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:CostOfGoodsAndServicesSoldDepreciation",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity",
     "longName": "040000 - Statement - Condensed Consolidated Statements of Stockholders' Equity",
     "shortName": "Condensed Consolidated Statements of Stockholders' Equity",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "c20221231_StatementEquityComponentsAxis_CommonStockMember",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20230331_StatementEquityComponentsAxis_CommonStockMember",
      "name": "us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "unique": true
     }
    },
    "R7": {
     "role": "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPolicies",
     "longName": "060100 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES",
     "shortName": "BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "7",
     "firstAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://tandyleather.com/role/NotesPayableAndLongtermDebt",
     "longName": "060200 - Disclosure - NOTES PAYABLE AND LONG-TERM DEBT",
     "shortName": "NOTES PAYABLE AND LONG-TERM DEBT",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://tandyleather.com/role/IncomeTax",
     "longName": "060300 - Disclosure - INCOME TAX",
     "shortName": "INCOME TAX",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://tandyleather.com/role/StockbasedCompensation",
     "longName": "060400 - Disclosure - STOCK-BASED COMPENSATION",
     "shortName": "STOCK-BASED COMPENSATION",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://tandyleather.com/role/EarningsPerShare",
     "longName": "060500 - Disclosure - EARNINGS PER SHARE",
     "shortName": "EARNINGS PER SHARE",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://tandyleather.com/role/CommitmentsAndContingencies",
     "longName": "060600 - Disclosure - COMMITMENTS AND CONTINGENCIES",
     "shortName": "COMMITMENTS AND CONTINGENCIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchases",
     "longName": "060700 - Disclosure - SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES",
     "shortName": "SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "tlfa:ShareRepurchaseProgramAndShareRepurchasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "tlfa:ShareRepurchaseProgramAndShareRepurchasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies",
     "longName": "070100 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES (Policies)",
     "shortName": "BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "14",
     "firstAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:CashAndCashEquivalentsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:CashAndCashEquivalentsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesTables",
     "longName": "080100 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES (Tables)",
     "shortName": "BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "15",
     "firstAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://tandyleather.com/role/StockbasedCompensationTables",
     "longName": "080400 - Disclosure - STOCK-BASED COMPENSATION (Tables)",
     "shortName": "STOCK-BASED COMPENSATION (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "16",
     "firstAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://tandyleather.com/role/EarningsPerShareTables",
     "longName": "080500 - Disclosure - EARNINGS PER SHARE (Tables)",
     "shortName": "EARNINGS PER SHARE (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "17",
     "firstAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails",
     "longName": "090100 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Basis of Presentation (Details)",
     "shortName": "BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Basis of Presentation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "18",
     "firstAnchor": {
      "contextRef": "c20240630",
      "name": "us-gaap:NumberOfStores",
      "unitRef": "U004",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240630",
      "name": "us-gaap:NumberOfStores",
      "unitRef": "U004",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails",
     "longName": "090102 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Revenue Recognition and Discounts (Details)",
     "shortName": "BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Revenue Recognition and Discounts (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "19",
     "firstAnchor": {
      "contextRef": "c20240630",
      "name": "us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "unique": true
     }
    },
    "R20": {
     "role": "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesDiscountsDetails",
     "longName": "090104 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Discounts (Details)",
     "shortName": "BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Discounts (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "20",
     "firstAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "tlfa:NumberOfClassesOfCustomerDiscounts",
      "unitRef": "U007",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "div",
       "tlfa:RevenueRecognitionDiscountsPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "tlfa:NumberOfClassesOfCustomerDiscounts",
      "unitRef": "U007",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "div",
       "tlfa:RevenueRecognitionDiscountsPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails",
     "longName": "090106 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Property and Equipment, Net of Accumulated Depreciation (Details)",
     "shortName": "BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Property and Equipment, Net of Accumulated Depreciation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "21",
     "firstAnchor": {
      "contextRef": "c20240630_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember_RangeAxis_MaximumMember",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240630_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember_RangeAxis_MaximumMember",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesInventoryDetails",
     "longName": "090108 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Inventory (Details)",
     "shortName": "BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Inventory (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "22",
     "firstAnchor": {
      "contextRef": "c20240630",
      "name": "us-gaap:InventoryFinishedGoods",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240630",
      "name": "us-gaap:InventoryFinishedGoods",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails",
     "longName": "090110 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Fair Value of Financial Instruments (Details)",
     "shortName": "BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Fair Value of Financial Instruments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "23",
     "firstAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet",
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240630",
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet",
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails",
     "longName": "090112 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Accounts Receivable and Expected Credit Losses (Details)",
     "shortName": "BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Accounts Receivable and Expected Credit Losses (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "24",
     "firstAnchor": {
      "contextRef": "c20240630",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "us-gaap:AllowanceForDoubtfulAccountsReceivable",
       "div",
       "us-gaap:CreditLossFinancialInstrumentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240630",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "us-gaap:AllowanceForDoubtfulAccountsReceivable",
       "div",
       "us-gaap:CreditLossFinancialInstrumentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails",
     "longName": "090114 - Disclosure - BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Other Intangible Assets (Details)",
     "shortName": "BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES, Other Intangible Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "25",
     "firstAnchor": {
      "contextRef": "c20240101to20240630_RangeAxis_MaximumMember",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-4",
      "ancestors": [
       "us-gaap:AmortizationOfIntangibleAssets",
       "div",
       "ix:continuation",
       "us-gaap:IntangibleAssetsFiniteLivedPolicy",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240630_RangeAxis_MaximumMember",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-4",
      "ancestors": [
       "us-gaap:AmortizationOfIntangibleAssets",
       "div",
       "ix:continuation",
       "us-gaap:IntangibleAssetsFiniteLivedPolicy",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails",
     "longName": "090200 - Disclosure - NOTES PAYABLE AND LONG-TERM DEBT (Details)",
     "shortName": "NOTES PAYABLE AND LONG-TERM DEBT (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "26",
     "firstAnchor": {
      "contextRef": "c20230103_LineOfCreditFacilityAxis_JPMorganChaseBankNAMember",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230103_LineOfCreditFacilityAxis_JPMorganChaseBankNAMember",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://tandyleather.com/role/IncomeTaxDetails",
     "longName": "090300 - Disclosure - INCOME TAX (Details)",
     "shortName": "INCOME TAX (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "27",
     "firstAnchor": {
      "contextRef": "c20240401to20240630",
      "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations",
      "unitRef": "U006",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240401to20240630",
      "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations",
      "unitRef": "U006",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails",
     "longName": "090400 - Disclosure - STOCK-BASED COMPENSATION, 2013 and 2023 Restricted Stock Plans (Details)",
     "shortName": "STOCK-BASED COMPENSATION, 2013 and 2023 Restricted Stock Plans (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "28",
     "firstAnchor": {
      "contextRef": "c20200630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember",
      "name": "us-gaap:CommonStockCapitalSharesReservedForFutureIssuance",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20200630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember",
      "name": "us-gaap:CommonStockCapitalSharesReservedForFutureIssuance",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails",
     "longName": "090402 - Disclosure - STOCK-BASED COMPENSATION, Summary of Activity for Non-vested Restricted Stock Unit Awards (Details)",
     "shortName": "STOCK-BASED COMPENSATION, Summary of Activity for Non-vested Restricted Stock Unit Awards (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "29",
     "firstAnchor": {
      "contextRef": "c20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails",
     "longName": "090404 - Disclosure - STOCK-BASED COMPENSATION, Non-vested Service-based Restricted Stock Unit Awards (Details)",
     "shortName": "STOCK-BASED COMPENSATION, Non-vested Service-based Restricted Stock Unit Awards (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "30",
     "firstAnchor": {
      "contextRef": "c20240101to20240630_AwardTypeAxis_RestrictedStockUnitsRSUMember",
      "name": "us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240630_AwardTypeAxis_RestrictedStockUnitsRSUMember",
      "name": "us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://tandyleather.com/role/EarningsPerShareDetails",
     "longName": "090500 - Disclosure - EARNINGS PER SHARE (Details)",
     "shortName": "EARNINGS PER SHARE (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "31",
     "firstAnchor": {
      "contextRef": "c20240401to20240630",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240401to20240630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember",
      "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "unique": true
     }
    },
    "R32": {
     "role": "http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchasesDetails",
     "longName": "090700 - Disclosure - SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES (Details)",
     "shortName": "SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "32",
     "firstAnchor": {
      "contextRef": "c20240630",
      "name": "us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240630",
      "name": "us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20030083_10q.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableAndAccruedLiabilitiesMember",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Expenses and Other Liabilities [Member]",
        "documentation": "Primary financial statement caption encompassing accounts payable and accrued liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableTradeCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableTradeCurrent",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable-trade",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r43"
     ]
    },
    "tlfa_AccountsReceivableAndExpectedCreditLossesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "AccountsReceivableAndExpectedCreditLossesAbstract",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable And Expected Credit Losses [Abstract]",
        "terseLabel": "Accounts Receivable and Expected Credit Losses [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable-trade, net of allowance for credit losses of $31 at June 30, 2024 and December 31, 2023.",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r662"
     ]
    },
    "us-gaap_AccruedLiabilitiesAndOtherLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedLiabilitiesAndOtherLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued expenses and other liabilities",
        "documentation": "Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Less accumulated depreciation",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r129",
      "r471"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated other comprehensive loss, net of tax",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r15",
      "r61",
      "r132",
      "r467",
      "r485",
      "r486"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss) [Member]",
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r8",
      "r15",
      "r390",
      "r393",
      "r417",
      "r481",
      "r482",
      "r642",
      "r643",
      "r644",
      "r650",
      "r651",
      "r652",
      "r653"
     ]
    },
    "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average amortization period",
        "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r233",
      "r570"
     ]
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Paid-in capital",
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r607",
      "r760"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Paid-in Capital [Member]",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r493",
      "r650",
      "r651",
      "r652",
      "r653",
      "r711",
      "r761"
     ]
    },
    "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income to net cash provided by operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Shares withheld for taxes and cancelled",
        "label": "Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation",
        "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation expense",
        "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r36",
      "r312"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total adjustments",
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities",
        "documentation": "The sum of adjustments which are added to or deducted from net income or loss, including the portion attributable to noncontrolling interest, to reflect cash provided by or used in operating activities, in accordance with the indirect cash flow method."
       }
      }
     },
     "auth_ref": [
      "r73"
     ]
    },
    "tlfa_AllOtherCountriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "AllOtherCountriesMember",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All other countries excluding the United States and Canada.",
        "label": "All Other Countries [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation expense",
        "label": "Share-Based Payment Arrangement, Expense",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r345",
      "r354"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesAccountsReceivableAndExpectedCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for expected credit losses",
        "documentation": "Amount of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r133",
      "r199",
      "r206",
      "r209",
      "r210",
      "r727"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for credit losses",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r133",
      "r199",
      "r206"
     ]
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization expenses",
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r230",
      "r236",
      "r585"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Assets",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "TOTAL ASSETS",
        "label": "Assets",
        "documentation": "Amount of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r94",
      "r131",
      "r152",
      "r185",
      "r187",
      "r192",
      "r193",
      "r200",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r385",
      "r387",
      "r399",
      "r463",
      "r519",
      "r581",
      "r582",
      "r607",
      "r627",
      "r679",
      "r680",
      "r719"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets",
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "ASSETS",
        "label": "Assets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current assets",
        "label": "Assets, Current",
        "documentation": "Amount of asset recognized for present right to economic benefit, classified as current."
       }
      }
     },
     "auth_ref": [
      "r124",
      "r138",
      "r152",
      "r200",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r385",
      "r387",
      "r399",
      "r607",
      "r679",
      "r680",
      "r719"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets",
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CURRENT ASSETS:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://tandyleather.com/role/EarningsPerShareDetails",
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails",
      "http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails",
      "http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r316",
      "r317",
      "r318",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344"
     ]
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BalanceSheetLocationAxis",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Balance Sheet Location [Axis]",
        "documentation": "Information by location in statement of financial position where disaggregated cumulative balance has been reported."
       }
      }
     },
     "auth_ref": [
      "r247",
      "r729",
      "r730"
     ]
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BalanceSheetLocationDomain",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Balance Sheet Location [Domain]",
        "documentation": "Location in statement of financial position where disaggregated cumulative balance has been reported."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r39",
      "r247",
      "r729",
      "r730"
     ]
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES",
        "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r74"
     ]
    },
    "us-gaap_BuildingAndBuildingImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BuildingAndBuildingImprovementsMember",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Buildings and Related Improvements [Member]",
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing."
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_BusinessDescriptionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "BusinessDescriptionAbstract",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Description [Abstract]",
        "terseLabel": "Description of Business [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "country_CA": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "CA",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails",
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Canada [Member]",
        "label": "CANADA"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and cash equivalents",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r127",
      "r573"
     ]
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and cash equivalents",
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value."
       }
      }
     },
     "auth_ref": [
      "r18"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Cash and cash equivalents, end of period",
        "periodStartLabel": "Cash and cash equivalents, beginning of period",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r71",
      "r150"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net (decrease) increase in cash and cash equivalents",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r71"
     ]
    },
    "srt_ChiefExecutiveOfficerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ChiefExecutiveOfficerMember",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Chief Executive Officer [Member]",
        "documentation": "Person with designation of chief executive officer."
       }
      }
     },
     "auth_ref": [
      "r661"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CityAreaCode",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfTreasuryStockTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ClassOfTreasuryStockTable",
     "presentation": [
      "http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Treasury Stock [Table]",
        "documentation": "Disclosure of information about treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r32",
      "r33",
      "r34"
     ]
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "COMMITMENTS AND CONTINGENCIES (Note 6)",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r87",
      "r465",
      "r506"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "COMMITMENTS AND CONTINGENCIES [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://tandyleather.com/role/CommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "COMMITMENTS AND CONTINGENCIES",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r248",
      "r249",
      "r558",
      "r674",
      "r676"
     ]
    },
    "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockCapitalSharesReservedForFutureIssuance",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of common shares reserved for issuance (in shares)",
        "label": "Common Stock, Capital Shares Reserved for Future Issuance",
        "documentation": "Aggregate number of common shares reserved for future issuance."
       }
      }
     },
     "auth_ref": [
      "r52"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockMember",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r618",
      "r619",
      "r620",
      "r622",
      "r623",
      "r624",
      "r625",
      "r650",
      "r651",
      "r653",
      "r711",
      "r758",
      "r761"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, par value (in dollars per share)",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r52"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares authorized (in shares)",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r507"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares issued (in shares)",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r52"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares outstanding (in shares)",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r52",
      "r507",
      "r525",
      "r761",
      "r762"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, $0.0024 par value; 25,000,000 shares authorized; 9,846,670 and 9,823,621 shares issued at June 30, 2024 and December 31, 2023, respectively; 8,422,546 and 8,399,245 shares outstanding at June 30, 2024 and December 31, 2023, respectively",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r466",
      "r607"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Comprehensive income",
        "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r84",
      "r140",
      "r142",
      "r147",
      "r459",
      "r476"
     ]
    },
    "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomePolicyPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income",
        "documentation": "Disclosure of accounting policy for comprehensive income."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Domain]",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r24",
      "r40",
      "r41",
      "r197",
      "r557"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r24",
      "r40",
      "r41",
      "r197",
      "r488",
      "r557"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Axis]",
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r24",
      "r40",
      "r41",
      "r197",
      "r557",
      "r635"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue percentage",
        "label": "Concentration Risk, Percentage",
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r24",
      "r40",
      "r41",
      "r197"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Domain]",
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r24",
      "r40",
      "r41",
      "r197",
      "r557"
     ]
    },
    "us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sales return allowance",
        "label": "Contract with Customer, Asset, Allowance for Credit Loss",
        "documentation": "Amount of allowance for credit loss for right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time."
       }
      }
     },
     "auth_ref": [
      "r206",
      "r209",
      "r210",
      "r295"
     ]
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract with customer liability",
        "label": "Contract with Customer, Liability",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r293",
      "r294",
      "r306"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue recognized from change in deferred obligation balance",
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due."
       }
      }
     },
     "auth_ref": [
      "r307"
     ]
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostOfGoodsAndServicesSold",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of sales",
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities."
       }
      }
     },
     "auth_ref": [
      "r64",
      "r65",
      "r425"
     ]
    },
    "us-gaap_CostOfGoodsAndServicesSoldDepreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostOfGoodsAndServicesSoldDepreciation",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation and amortization",
        "documentation": "Amount of expense for allocation of cost of tangible asset over its useful life directly used in production of good and rendering of service."
       }
      }
     },
     "auth_ref": [
      "r645",
      "r673"
     ]
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditLossFinancialInstrumentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditLossFinancialInstrumentPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable - Trade and Expected Credit Losses",
        "documentation": "Disclosure of accounting policy for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security. Includes, but is not limited to, methodology used to estimate allowance for credit loss, how writeoff of uncollectible amount is recognized, and determination of past due status and nonaccrual status."
       }
      }
     },
     "auth_ref": [
      "r203",
      "r204",
      "r205",
      "r207",
      "r208",
      "r211",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "NOTES PAYABLE AND LONG-TERM DEBT [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtDisclosureTextBlock",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebt"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "NOTES PAYABLE AND LONG-TERM DEBT",
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r151",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r254",
      "r255",
      "r265",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r281",
      "r288",
      "r289",
      "r291",
      "r408"
     ]
    },
    "us-gaap_DebtInstrumentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentLineItems",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r154",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r272",
      "r277",
      "r278",
      "r279",
      "r280",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r290",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r606",
      "r648",
      "r716",
      "r717"
     ]
    },
    "us-gaap_DebtInstrumentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentTable",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Long-term Debt Instruments [Table]",
        "documentation": "Disclosure of information about long-term debt instrument or arrangement."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r29",
      "r30",
      "r42",
      "r80",
      "r81",
      "r154",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r272",
      "r277",
      "r278",
      "r279",
      "r280",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r290",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r606",
      "r648",
      "r716",
      "r717"
     ]
    },
    "us-gaap_DebtInstrumentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentsAbstract",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instruments [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred income taxes",
        "label": "Deferred Income Tax Assets, Net",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r359",
      "r360"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred income taxes",
        "label": "Deferred Income Tax Liabilities, Net",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r359",
      "r360",
      "r464"
     ]
    },
    "us-gaap_DeferredIncomeTaxesAndTaxCredits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxesAndTaxCredits",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred income taxes",
        "label": "Deferred Income Taxes and Tax Credits",
        "documentation": "Amount of deferred income tax expense (benefit) and income tax credits."
       }
      }
     },
     "auth_ref": [
      "r73"
     ]
    },
    "us-gaap_DeferredRevenueRevenueRecognized1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredRevenueRevenueRecognized1",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred revenue, recognized",
        "documentation": "Amount of revenue recognized that was previously reported as deferred or unearned revenue."
       }
      }
     },
     "auth_ref": []
    },
    "srt_DirectorMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "DirectorMember",
     "presentation": [
      "http://tandyleather.com/role/EarningsPerShareDetails",
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Board of Directors [Member]",
        "documentation": "Person serving on board of directors."
       }
      }
     },
     "auth_ref": [
      "r637",
      "r661",
      "r759"
     ]
    },
    "us-gaap_DisaggregationOfRevenueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisaggregationOfRevenueAbstract",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregated Revenue [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r305",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Table]",
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r305",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregated Revenue",
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r683"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "STOCK-BASED COMPENSATION",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r310",
      "r315",
      "r346",
      "r347",
      "r349",
      "r600"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "STOCK-BASED COMPENSATION [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_DiscountsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "DiscountsAbstract",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Discounts [Abstract]",
        "terseLabel": "Discounts [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r631"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r632"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentType",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "country_ES": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "ES",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Spain [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareAbstract",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net income per common share:",
        "label": "EARNINGS PER SHARE [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://tandyleather.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basic (in dollars per share)",
        "verboseLabel": "Basic earnings per share (in dollars per share)",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r160",
      "r161",
      "r162",
      "r163",
      "r164",
      "r165",
      "r170",
      "r172",
      "r178",
      "r179",
      "r180",
      "r184",
      "r381",
      "r384",
      "r396",
      "r397",
      "r460",
      "r477",
      "r578"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://tandyleather.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Diluted (in dollars per share)",
        "verboseLabel": "Diluted earnings per share (in dollars per share)",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r160",
      "r161",
      "r162",
      "r163",
      "r164",
      "r165",
      "r172",
      "r178",
      "r179",
      "r180",
      "r184",
      "r381",
      "r384",
      "r396",
      "r397",
      "r460",
      "r477",
      "r578"
     ]
    },
    "us-gaap_EarningsPerShareDilutedLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareDilutedLineItems",
     "presentation": [
      "http://tandyleather.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r172",
      "r176",
      "r178"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://tandyleather.com/role/EarningsPerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "EARNINGS PER SHARE",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r169",
      "r181",
      "r182",
      "r183"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of exchange rate changes on cash and cash equivalents",
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r401"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "presentation": [
      "http://tandyleather.com/role/IncomeTaxDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective tax rate",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r362",
      "r601"
     ]
    },
    "tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unrecognized cost of unvested share-based compensation awards in excess of one year due in the fourth fiscal year following the latest fiscal year.",
        "label": "Employee Service Share-based Compensation Non-vested Awards Compensation Cost Not Yet Recognized Due In Four Years",
        "verboseLabel": "2028"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unrecognized cost of unvested share-based compensation awards in excess of one year due in the third fiscal year following the latest fiscal year.",
        "label": "Employee Service Share-based Compensation Non-vested Awards Compensation Cost Not Yet Recognized Due In Three Years",
        "terseLabel": "2027"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unrecognized cost of unvested share-based compensation awards due in excess of one year due in the second fiscal year following the latest fiscal year.",
        "label": "Employee Service Share-based Compensation Non-vested Awards Compensation Cost Not Yet Recognized Due In Two Years",
        "terseLabel": "2026"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unrecognized cost of unvested share-based compensation awards in excess of one year due in the next fiscal year following the latest fiscal year.",
        "label": "Employee Service Share-based Compensation Nonvested Awards Compensation Cost Not Yet Recognized Due In Next Twelve Months",
        "terseLabel": "2025"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unrecognized cost of unvested share-based compensation awards due during the remainder of the fiscal year.",
        "label": "Employee Service Share-based Compensation Nonvested Awards Compensation Cost Not Yet Recognized Remainder of Fiscal Year",
        "terseLabel": "2024"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Unrecognized Expense",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r348"
     ]
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r629"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r629"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r629"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r633"
     ]
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r629"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r629"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r629"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r629"
     ]
    },
    "us-gaap_EquityClassOfTreasuryStockLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityClassOfTreasuryStockLineItems",
     "presentation": [
      "http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity, Class of Treasury Stock [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Component [Domain]",
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r122",
      "r144",
      "r145",
      "r146",
      "r155",
      "r156",
      "r157",
      "r159",
      "r164",
      "r166",
      "r168",
      "r186",
      "r201",
      "r202",
      "r241",
      "r292",
      "r371",
      "r372",
      "r378",
      "r379",
      "r380",
      "r382",
      "r383",
      "r384",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r409",
      "r410",
      "r417",
      "r475",
      "r481",
      "r482",
      "r483",
      "r493",
      "r544"
     ]
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Transfers into (out of) Level 3",
        "documentation": "Amount of transfer of financial instrument classified as an asset into (out of) level 3 of the fair value hierarchy."
       }
      }
     },
     "auth_ref": [
      "r713",
      "r714"
     ]
    },
    "tlfa_FairValueOfFinancialInstrumentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "FairValueOfFinancialInstrumentsAbstract",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesFairValueOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value of Financial Instruments [Abstract]",
        "terseLabel": "Fair Value of Financial Instruments [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value of Financial Instruments",
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance lease liabilities, non-current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r412"
     ]
    },
    "us-gaap_FinanceLeasePrincipalPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeasePrincipalPayments",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Payment of finance lease obligations",
        "label": "Finance Lease, Principal Payments",
        "documentation": "Amount of cash outflow for principal payment on finance lease."
       }
      }
     },
     "auth_ref": [
      "r413",
      "r415"
     ]
    },
    "us-gaap_FinanceLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseRightOfUseAsset",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing lease assets",
        "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r411"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization expense, 2026",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r237",
      "r570",
      "r585"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization expense, 2025",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization expense, 2029",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r237",
      "r570",
      "r585"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization expense, 2028",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r237",
      "r570",
      "r585"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization expense, 2027",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r237",
      "r570",
      "r585"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r229",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r238",
      "r239",
      "r426",
      "r427",
      "r570"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r229",
      "r235",
      "r238",
      "r239",
      "r240",
      "r426",
      "r570",
      "r585"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company."
       }
      }
     },
     "auth_ref": [
      "r229",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r238",
      "r239",
      "r570"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsNetAbstract",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Assets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign currency translation and transactions",
        "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy."
       }
      }
     },
     "auth_ref": [
      "r400"
     ]
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FurnitureAndFixturesMember",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Furniture and Fixtures [Member]",
        "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GeographicConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GeographicConcentrationRiskMember",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographic Concentration Risk [Member]",
        "documentation": "Reflects the percentage that a specified dollar value on the balance sheet or income statement in the period from one or more specified geographic areas is to a corresponding consolidated, segment, or product line amount. Risk is the materially adverse effects of economic decline or antagonistic political actions resulting in loss of assets, sales volume, labor supply, or source of materials and supplies in a US state or a specified country, continent, or region such as EMEA (Europe, Middle East, Africa)."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r557"
     ]
    },
    "tlfa_GiftCardRedemptionPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "GiftCardRedemptionPeriod",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expected customer gift card redemption period, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Gift Card Redemption Period",
        "terseLabel": "Gift card redemption period"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GrossProfit",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross profit",
        "label": "Gross Profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r62",
      "r66",
      "r93",
      "r152",
      "r200",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r399",
      "r579",
      "r581",
      "r655",
      "r657",
      "r658",
      "r659",
      "r660",
      "r679"
     ]
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment of Long-Lived Assets",
        "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r77"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income before income taxes",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r63",
      "r89",
      "r93",
      "r461",
      "r473",
      "r579",
      "r581",
      "r655",
      "r657",
      "r658",
      "r659",
      "r660"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Consolidated Statements of Operations and Comprehensive Income [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "INCOME TAX [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://tandyleather.com/role/IncomeTax"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INCOME TAX",
        "documentation": "The entire disclosure for income tax."
       }
      }
     },
     "auth_ref": [
      "r153",
      "r356",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r369",
      "r373",
      "r375",
      "r376",
      "r377",
      "r492",
      "r601"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income tax provision",
        "label": "Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r99",
      "r167",
      "r168",
      "r185",
      "r190",
      "r193",
      "r361",
      "r362",
      "r374",
      "r478",
      "r601"
     ]
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r143",
      "r357",
      "r358",
      "r366",
      "r367",
      "r368",
      "r370",
      "r490"
     ]
    },
    "us-gaap_IncomeTaxesReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxesReceivable",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income tax receivable",
        "documentation": "Carrying amount due within one year of the balance sheet date (or one operating cycle, if longer) from tax authorities as of the balance sheet date representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes."
       }
      }
     },
     "auth_ref": [
      "r85",
      "r638"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts payable-trade",
        "label": "Increase (Decrease) in Accounts Payable",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accounts receivable-trade",
        "label": "Increase (Decrease) in Accounts Receivable",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued expenses and other liabilities",
        "label": "Increase (Decrease) in Accrued Liabilities",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInDeferredIncomeTaxes",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Income taxes, net",
        "label": "Increase (Decrease) in Deferred Income Taxes",
        "documentation": "The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Inventory",
        "label": "Increase (Decrease) in Inventories",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in operating assets and liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOperatingLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease liabilities",
        "label": "Increase (Decrease) in Operating Lease Liability",
        "documentation": "Amount of increase (decrease) in obligation for operating lease."
       }
      }
     },
     "auth_ref": [
      "r636",
      "r646"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherCurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOtherCurrentAssets",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other current assets",
        "label": "Increase (Decrease) in Other Current Assets",
        "documentation": "Amount of increase (decrease) in current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r646"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOtherNoncurrentAssets",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other assets",
        "label": "Increase (Decrease) in Other Noncurrent Assets",
        "documentation": "Amount of increase (decrease) in noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r646"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInPrepaidExpense",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Prepaid expenses",
        "label": "Increase (Decrease) in Prepaid Expense",
        "documentation": "The increase (decrease) during the reporting period in the amount of outstanding money paid in advance for goods or services that bring economic benefits for future periods."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "presentation": [
      "http://tandyleather.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dilutive effect of service-based restricted stock awards granted under the Plan (in shares)",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements",
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method."
       }
      }
     },
     "auth_ref": [
      "r173",
      "r174",
      "r175",
      "r180",
      "r314"
     ]
    },
    "us-gaap_IntangibleAssetsFiniteLivedPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntangibleAssetsFiniteLivedPolicy",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Intangible Assets",
        "documentation": "Disclosure of accounting policy for finite-lived intangible assets. This accounting policy also might address: (1) the amortization method used; (2) the useful lives of such assets; and (3) how the entity assesses and measures impairment of such assets."
       }
      }
     },
     "auth_ref": [
      "r422",
      "r423",
      "r424",
      "r426",
      "r576",
      "r664"
     ]
    },
    "us-gaap_IntellectualPropertyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntellectualPropertyMember",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trademarks/Copyrights [Member]",
        "label": "Intellectual Property [Member]",
        "documentation": "Intangible asset arising from original creative thought. Include, but is not limited to, trademarks, patents, and copyrights."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672"
     ]
    },
    "us-gaap_InterestIncomeExpenseNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestIncomeExpenseNet",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Interest income",
        "label": "Interest Income (Expense), Operating",
        "documentation": "Amount of interest income (expense) classified as operating."
       }
      }
     },
     "auth_ref": [
      "r458",
      "r657"
     ]
    },
    "us-gaap_InventoryFinishedGoods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryFinishedGoods",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finished goods held for sale",
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r639"
     ]
    },
    "tlfa_InventoryMerchandiseExpectedToBeReturned": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "InventoryMerchandiseExpectedToBeReturned",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross amount of merchandise or supplies to which the entity expected returns as of balance sheet date.",
        "label": "Inventory, Merchandise Expected to be Returned",
        "verboseLabel": "Estimate of merchandise expected to be returned"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryNet",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesInventoryDetails",
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory",
        "totalLabel": "Total inventory",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r574",
      "r607"
     ]
    },
    "us-gaap_InventoryNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryNetAbstract",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory on hand [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventory",
        "label": "Inventory, Policy [Policy Text Block]",
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r126",
      "r134",
      "r224",
      "r225",
      "r226",
      "r421",
      "r577"
     ]
    },
    "us-gaap_InventoryWorkInProcessAndRawMaterials": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryWorkInProcessAndRawMaterials",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Raw materials and work in process",
        "label": "Inventory, Work in Process and Raw Materials",
        "documentation": "The aggregate carrying amount as of the balance sheet date of items held by the entity which are partially completed at the time of measurement and unprocessed items that will go through the production process and become part of the final product. Includes supplies used directly or indirectly in the manufacturing or production process. This element may be used when the reporting entity combines work in process and raw materials into an aggregate amount."
       }
      }
     },
     "auth_ref": [
      "r641"
     ]
    },
    "tlfa_JPMorganChaseBankNAMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "JPMorganChaseBankNAMember",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name of lender will provide the line of credit facility under the credit agreement.",
        "label": "JP Morgan Chase Bank, N.A. [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeLeasesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeLeasesPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leases",
        "label": "Lessee, Leases [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee."
       }
      }
     },
     "auth_ref": [
      "r414"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "TOTAL LIABILITIES AND STOCKHOLDERS' EQUITY",
        "label": "Liabilities and Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r88",
      "r469",
      "r607",
      "r649",
      "r663",
      "r715"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets",
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LIABILITIES AND STOCKHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current liabilities",
        "label": "Liabilities, Current",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r125",
      "r152",
      "r200",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r386",
      "r387",
      "r388",
      "r399",
      "r607",
      "r679",
      "r719",
      "r720"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CURRENT LIABILITIES:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilityForUncertainTaxPositionsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilityForUncertainTaxPositionsNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Uncertain tax positions",
        "label": "Liability for Uncertainty in Income Taxes, Noncurrent",
        "documentation": "Amount recognized for uncertainty in income taxes classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r49"
     ]
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityAxis",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lender Name [Axis]",
        "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit."
       }
      }
     },
     "auth_ref": [
      "r44",
      "r48",
      "r648",
      "r677",
      "r678"
     ]
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityLenderDomain",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Lender [Domain]",
        "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility."
       }
      }
     },
     "auth_ref": [
      "r44",
      "r48",
      "r648",
      "r677"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of credit facility, maximum borrowing capacity",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r44",
      "r48"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MachineryAndEquipmentMember",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equipment and Machinery [Member]",
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MaximumMember",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails",
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails",
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails",
      "http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchasesDetails",
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "documentation": "Upper limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r101",
      "r103",
      "r105",
      "r106",
      "r108",
      "r120",
      "r121",
      "r250",
      "r251",
      "r252",
      "r253",
      "r309",
      "r355",
      "r398",
      "r420",
      "r479",
      "r480",
      "r487",
      "r498",
      "r499",
      "r547",
      "r549",
      "r551",
      "r552",
      "r554",
      "r568",
      "r569",
      "r584",
      "r591",
      "r599",
      "r602",
      "r603",
      "r604",
      "r605",
      "r616",
      "r681",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MinimumMember",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails",
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "documentation": "Lower limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r101",
      "r103",
      "r105",
      "r106",
      "r108",
      "r120",
      "r121",
      "r250",
      "r251",
      "r252",
      "r253",
      "r309",
      "r355",
      "r398",
      "r420",
      "r479",
      "r480",
      "r487",
      "r498",
      "r499",
      "r547",
      "r549",
      "r551",
      "r552",
      "r554",
      "r568",
      "r569",
      "r584",
      "r591",
      "r599",
      "r602",
      "r603",
      "r604",
      "r616",
      "r681",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash used in financing activities",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r149"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from financing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash used in investing activities",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r149"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from investing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash provided by operating activities",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r72",
      "r73"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows",
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity",
      "http://tandyleather.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net income",
        "totalLabel": "Net income",
        "verboseLabel": "Net income",
        "label": "Net Income (Loss)",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r73",
      "r90",
      "r123",
      "r139",
      "r141",
      "r146",
      "r152",
      "r158",
      "r160",
      "r161",
      "r162",
      "r163",
      "r164",
      "r167",
      "r168",
      "r177",
      "r200",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r381",
      "r384",
      "r397",
      "r399",
      "r474",
      "r527",
      "r542",
      "r543",
      "r626",
      "r679"
     ]
    },
    "us-gaap_NetIncomeLossAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLossAbstract",
     "presentation": [
      "http://tandyleather.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Numerator [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLossAvailableToCommonStockholdersBasicAbstract",
     "presentation": [
      "http://tandyleather.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Computation of Earnings Per Share [Abstract]",
        "label": "Net Income (Loss) Available to Common Stockholders, Basic [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_NonEmployeeDirectorMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "NonEmployeeDirectorMember",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Person with designation of non-employee director.",
        "label": "Non-Employee Director [Member]",
        "terseLabel": "Non-Employee Directors [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NonoperatingIncomeExpense",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTotalLabel": "Total other (income) expense",
        "label": "Nonoperating Income (Expense)",
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)."
       }
      }
     },
     "auth_ref": [
      "r68"
     ]
    },
    "tlfa_NumberOfClassesOfCustomerDiscounts": {
     "xbrltype": "integerItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "NumberOfClassesOfCustomerDiscounts",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of classes of customer discounts.",
        "label": "Number of Classes of Customer Discounts",
        "terseLabel": "Number of classes of customer discounts"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NumberOfOperatingSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NumberOfOperatingSegments",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of operating segments",
        "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues."
       }
      }
     },
     "auth_ref": [
      "r582",
      "r656"
     ]
    },
    "us-gaap_NumberOfReportableSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NumberOfReportableSegments",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of reporting segments",
        "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements."
       }
      }
     },
     "auth_ref": [
      "r580",
      "r583",
      "r656"
     ]
    },
    "us-gaap_NumberOfStores": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NumberOfStores",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of stores",
        "label": "Number of Stores",
        "documentation": "Represents the number of stores."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingCostsAndExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingCostsAndExpenses",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating expenses",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Excludes Selling, General and Administrative Expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income from operations",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r579",
      "r655",
      "r657",
      "r658",
      "r659",
      "r660"
     ]
    },
    "us-gaap_OperatingIncomeLossAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingIncomeLossAbstract",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other (income) expense:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current portion of operating lease liabilities",
        "label": "Operating Lease, Liability, Current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r412"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease liabilities, non-current",
        "label": "Operating Lease, Liability, Noncurrent",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r412"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease assets",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r411"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease asset amortization",
        "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease."
       }
      }
     },
     "auth_ref": [
      "r647"
     ]
    },
    "us-gaap_OtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAssetsCurrent",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other current assets",
        "documentation": "Amount of current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r137",
      "r607"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other assets",
        "label": "Other Assets, Noncurrent",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r130"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign currency translation adjustments, net of tax",
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r475"
     ]
    },
    "tlfa_OtherCountriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "OtherCountriesMember",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All other countries excluding the United States and Canada.",
        "label": "Other Countries [Member]",
        "terseLabel": "Other [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherInventoryInTransit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherInventoryInTransit",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory in transit",
        "documentation": "Gross amount of merchandise or supplies to which the entity holds the title but does not hold physical possession because the goods are currently being transported."
       }
      }
     },
     "auth_ref": [
      "r640"
     ]
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherLiabilitiesNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other non-current liabilities",
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r49"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other, net",
        "label": "Other Nonoperating Income (Expense)",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r69"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of property and equipment",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r70"
     ]
    },
    "tlfa_PerformanceBasedRestrictedStockUnitsRSUsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "PerformanceBasedRestrictedStockUnitsRSUsMember",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, when specified performance conditions are met.",
        "label": "Performance Based Restricted Stock Units (RSUs) [Member]",
        "terseLabel": "Performance-Based Restricted Stock Units [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r684",
      "r685",
      "r686",
      "r687",
      "r688",
      "r689",
      "r690",
      "r691",
      "r692",
      "r693",
      "r694",
      "r695",
      "r696",
      "r697",
      "r698",
      "r699",
      "r700",
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r684",
      "r685",
      "r686",
      "r687",
      "r688",
      "r689",
      "r690",
      "r691",
      "r692",
      "r693",
      "r694",
      "r695",
      "r696",
      "r697",
      "r698",
      "r699",
      "r700",
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709"
     ]
    },
    "us-gaap_PrepaidExpenseCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidExpenseCurrent",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid expenses",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r136",
      "r227",
      "r228",
      "r575"
     ]
    },
    "us-gaap_ProceedsFromLinesOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromLinesOfCredit",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/NotesPayableAndLongtermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of credit facility, funds borrowed",
        "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r648"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r416"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment, at cost",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r128",
      "r472"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r416"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Property and equipment, net",
        "label": "Property, Plant and Equipment, Net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r416",
      "r462",
      "r472",
      "r607"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentNetAbstract",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property and Equipment, Net of Accumulated Depreciation [Abstract]",
        "label": "Property, Plant and Equipment, Net [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment, net of accumulated depreciation",
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r97",
      "r98",
      "r470"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Domain]",
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r416"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Estimated useful lives of assets",
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment."
       }
      }
     },
     "auth_ref": []
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeAxis",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails",
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails",
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails",
      "http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchasesDetails",
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]",
        "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median."
       }
      }
     },
     "auth_ref": [
      "r101",
      "r103",
      "r105",
      "r106",
      "r108",
      "r120",
      "r121",
      "r250",
      "r251",
      "r252",
      "r253",
      "r308",
      "r309",
      "r341",
      "r342",
      "r343",
      "r355",
      "r398",
      "r418",
      "r419",
      "r420",
      "r479",
      "r480",
      "r487",
      "r498",
      "r499",
      "r547",
      "r549",
      "r551",
      "r552",
      "r554",
      "r568",
      "r569",
      "r584",
      "r591",
      "r599",
      "r602",
      "r603",
      "r604",
      "r605",
      "r616",
      "r620",
      "r675",
      "r681",
      "r712",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeMember",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails",
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails",
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails",
      "http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchasesDetails",
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]",
        "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median."
       }
      }
     },
     "auth_ref": [
      "r101",
      "r103",
      "r105",
      "r106",
      "r108",
      "r120",
      "r121",
      "r250",
      "r251",
      "r252",
      "r253",
      "r308",
      "r309",
      "r341",
      "r342",
      "r343",
      "r355",
      "r398",
      "r418",
      "r419",
      "r420",
      "r479",
      "r480",
      "r487",
      "r498",
      "r499",
      "r547",
      "r549",
      "r551",
      "r552",
      "r554",
      "r568",
      "r569",
      "r584",
      "r591",
      "r599",
      "r602",
      "r603",
      "r604",
      "r605",
      "r616",
      "r620",
      "r675",
      "r681",
      "r712",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726"
     ]
    },
    "tlfa_RestrictedStockAndRestrictedStockUnitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "RestrictedStockAndRestrictedStockUnitsMember",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met and Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.",
        "label": "Restricted Stock and Restricted Stock Units [Member]",
        "terseLabel": "Restricted Stock and RSU [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestrictedStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedStockMember",
     "presentation": [
      "http://tandyleather.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock [Member]",
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails",
      "http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock Units [Member]",
        "terseLabel": "Restricted Stock Units (RSUs) [Member]",
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained earnings",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r82",
      "r468",
      "r484",
      "r486",
      "r491",
      "r508",
      "r607"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r122",
      "r155",
      "r156",
      "r157",
      "r159",
      "r164",
      "r166",
      "r168",
      "r201",
      "r202",
      "r241",
      "r371",
      "r372",
      "r378",
      "r379",
      "r380",
      "r382",
      "r383",
      "r384",
      "r389",
      "r391",
      "r392",
      "r394",
      "r395",
      "r409",
      "r410",
      "r481",
      "r483",
      "r493",
      "r761"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails",
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net sales",
        "terseLabel": "Sales",
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r92",
      "r185",
      "r188",
      "r189",
      "r191",
      "r193",
      "r194",
      "r195",
      "r197",
      "r304",
      "r305",
      "r425"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition",
        "documentation": "Disclosure of accounting policy for revenue from contract with customer."
       }
      }
     },
     "auth_ref": [
      "r100",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r571"
     ]
    },
    "tlfa_RevenueRecognitionDiscountsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "RevenueRecognitionDiscountsPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for sales discounts.",
        "label": "Revenue Recognition, Discounts [Policy Text Block]",
        "terseLabel": "Discounts"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "SHAREREPURCHASEPROGRAMANDSHAREREPURCHASESAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sales [Member]",
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r634"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://tandyleather.com/role/EarningsPerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Computation of Basic and Diluted EPS",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r654"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEarningsPerShareDilutedByCommonClassTable",
     "presentation": [
      "http://tandyleather.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Table]",
        "documentation": "Disclosure of information about diluted earnings per share by class of stock. Includes, but is not limited to, two-class method."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r21",
      "r172",
      "r176",
      "r178"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesOtherIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets [Table]",
        "documentation": "Disclosure of information about finite-lived intangible asset. Excludes indefinite-lived intangible asset."
       }
      }
     },
     "auth_ref": [
      "r229",
      "r235",
      "r238",
      "r239",
      "r240",
      "r426",
      "r570",
      "r585"
     ]
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventory",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r58",
      "r59",
      "r60"
     ]
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table]",
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r416"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Segment Reporting Information, by Segment [Table]",
        "documentation": "Disclosure of information about profit (loss) and total assets by reportable segment."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r26",
      "r27"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails",
      "http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails",
      "http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r311",
      "r313",
      "r316",
      "r317",
      "r318",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344"
     ]
    },
    "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Activity of Non-vested Restricted Common Stock Awards",
        "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-vested, Service-based Awards",
        "documentation": "Tabular disclosure of cost not yet recognized and weighted-average period over which cost is expected to be recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r83"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12bTitle",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r628"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r630"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails",
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]",
        "documentation": "Geographical area."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r104",
      "r107",
      "r109",
      "r110",
      "r111",
      "r112",
      "r113",
      "r114",
      "r115",
      "r116",
      "r117",
      "r118",
      "r119",
      "r195",
      "r196",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r495",
      "r496",
      "r497",
      "r548",
      "r550",
      "r553",
      "r555",
      "r556",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r572",
      "r593",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r617",
      "r620",
      "r683",
      "r728",
      "r731",
      "r732",
      "r733",
      "r734",
      "r735",
      "r736",
      "r737",
      "r738",
      "r739",
      "r740",
      "r741",
      "r742",
      "r743",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r750",
      "r751",
      "r752",
      "r753",
      "r754",
      "r755",
      "r756",
      "r757"
     ]
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingInformationLineItems",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting Information [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingGeneralAndAdministrativeExpensesPolicyTextBlock",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating expenses",
        "label": "Selling, General and Administrative Expenses, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for inclusion of significant items in the selling, general and administrative (or similar) expense report caption."
       }
      }
     },
     "auth_ref": [
      "r710"
     ]
    },
    "tlfa_ServicedBasedRestrictedStockUnitsRSUsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "ServicedBasedRestrictedStockUnitsRSUsMember",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails",
      "http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time.",
        "label": "Serviced Based Restricted Stock Units (RSUs) [Member]",
        "terseLabel": "Service-Based Restricted Stock Units [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "label": "Share-Based Payment Arrangement, Noncash Expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_ShareBasedCompensationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationAbstract",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-based Compensation Expense [Abstract]",
        "label": "Share-Based Payment Arrangement, Noncash Expense [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock Plan [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting period from grant date",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period",
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition."
       }
      }
     },
     "auth_ref": [
      "r600"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Forfeited (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r333"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forfeited (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event."
       }
      }
     },
     "auth_ref": [
      "r333"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails",
      "http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Granted (in shares)",
        "verboseLabel": "Number of restricted stock units granted (in shares)",
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r331"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Granted (in dollars per share)",
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r331"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Balance (in shares)",
        "periodStartLabel": "Balance (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r328",
      "r329"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares [Roll Forward]",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Balance (in dollars per share)",
        "periodStartLabel": "Balance (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r328",
      "r329"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Share Price [Abstract]",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vested (in shares)",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r332"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vested (in dollars per share)",
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement."
       }
      }
     },
     "auth_ref": [
      "r332"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails",
      "http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails",
      "http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r311",
      "r313",
      "r316",
      "r317",
      "r318",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://tandyleather.com/role/EarningsPerShareDetails",
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails",
      "http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails",
      "http://tandyleather.com/role/StockbasedCompensationSummaryOfActivityForNonvestedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Domain]",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r316",
      "r317",
      "r318",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344"
     ]
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "label": "Share-Based Payment Arrangement [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost."
       }
      }
     },
     "auth_ref": [
      "r310",
      "r319",
      "r338",
      "r339",
      "r340",
      "r341",
      "r344",
      "r350",
      "r351",
      "r352",
      "r353"
     ]
    },
    "us-gaap_ShareBasedPaymentArrangementEmployeeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedPaymentArrangementEmployeeMember",
     "presentation": [
      "http://tandyleather.com/role/EarningsPerShareDetails",
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Key Employees [Member]",
        "terseLabel": "Employees [Member]",
        "label": "Share-Based Payment Arrangement, Employee [Member]",
        "documentation": "Recipient, of award granted under share-based payment arrangement, over whom grantor exercises or has right to exercise sufficient control to establish employer-employee relationship based on law of pertinent jurisdiction. Includes, but is not limited to, nonemployee director treated as employee when acting as member of board of directors, if elected by grantor's shareholders or appointed to board position to be filled by shareholder election when existing term expires."
       }
      }
     },
     "auth_ref": [
      "r313",
      "r316",
      "r317",
      "r318",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344"
     ]
    },
    "tlfa_ShareRepurchaseProgramAndShareRepurchasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "ShareRepurchaseProgramAndShareRepurchasesTextBlock",
     "presentation": [
      "http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the share repurchase program and share repurchases.",
        "label": "Share Repurchase Program and Share Repurchases [Text Block]",
        "terseLabel": "SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance (in shares)",
        "periodEndLabel": "Balance (in shares)",
        "label": "Shares, Outstanding",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares withheld for taxes and cancelled (in shares)",
        "label": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation",
        "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r52",
      "r55",
      "r56",
      "r122",
      "r144",
      "r145",
      "r146",
      "r155",
      "r156",
      "r157",
      "r159",
      "r164",
      "r166",
      "r168",
      "r186",
      "r201",
      "r202",
      "r241",
      "r292",
      "r371",
      "r372",
      "r378",
      "r379",
      "r380",
      "r382",
      "r383",
      "r384",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r409",
      "r410",
      "r417",
      "r475",
      "r481",
      "r482",
      "r483",
      "r493",
      "r544"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails",
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]",
        "documentation": "Information by geographical components."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r104",
      "r107",
      "r109",
      "r110",
      "r111",
      "r112",
      "r113",
      "r114",
      "r115",
      "r116",
      "r117",
      "r118",
      "r119",
      "r195",
      "r196",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r495",
      "r496",
      "r497",
      "r548",
      "r550",
      "r553",
      "r555",
      "r556",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r572",
      "r593",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r617",
      "r620",
      "r683",
      "r728",
      "r731",
      "r732",
      "r733",
      "r734",
      "r735",
      "r736",
      "r737",
      "r738",
      "r739",
      "r740",
      "r741",
      "r742",
      "r743",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r750",
      "r751",
      "r752",
      "r753",
      "r754",
      "r755",
      "r756",
      "r757"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementLineItems",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r155",
      "r156",
      "r157",
      "r186",
      "r410",
      "r425",
      "r489",
      "r494",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r507",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r526",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r544",
      "r621"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Consolidated Statements of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Consolidated Balance Sheets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Consolidated Statements of Stockholders' Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementTable",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "documentation": "Disclosure of information about statement of comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity."
       }
      }
     },
     "auth_ref": [
      "r155",
      "r156",
      "r157",
      "r186",
      "r198",
      "r410",
      "r425",
      "r489",
      "r494",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r507",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r526",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r544",
      "r621"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity",
      "http://tandyleather.com/role/StockbasedCompensationNonvestedServicebasedRestrictedStockUnitAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of shares issued from vesting of restricted stock (in shares)",
        "verboseLabel": "Vesting of restricted stock units (in shares)",
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross",
        "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r82"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting of restricted stock units",
        "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r51",
      "r52",
      "r82"
     ]
    },
    "tlfa_StockRepurchaseProgramAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "StockRepurchaseProgramAbstract",
     "presentation": [
      "http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Repurchase Program [Abstract]",
        "terseLabel": "Share Repurchase Program and Share Repurchases [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_StockRepurchaseProgramAuthorizedAmount1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StockRepurchaseProgramAuthorizedAmount1",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Repurchase of common stock",
        "label": "Share Repurchase Program, Authorized, Amount",
        "documentation": "Amount authorized for purchase of share under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership."
       }
      }
     },
     "auth_ref": [
      "r682"
     ]
    },
    "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/ShareRepurchaseProgramAndShareRepurchasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Remaining repurchase of common stock",
        "documentation": "Amount remaining authorized for purchase of share under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockRepurchasedAndRetiredDuringPeriodShares",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repurchase of common stock (in shares)",
        "label": "Stock Repurchased and Retired During Period, Shares",
        "documentation": "Number of shares that have been repurchased and retired during the period."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r51",
      "r52",
      "r82"
     ]
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockRepurchasedAndRetiredDuringPeriodValue",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repurchase of common stock",
        "label": "Stock Repurchased and Retired During Period, Value",
        "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital)."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r51",
      "r52",
      "r82"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets",
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total stockholders' equity",
        "periodStartLabel": "Balance",
        "periodEndLabel": "Balance",
        "label": "Equity, Attributable to Parent",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r55",
      "r56",
      "r75",
      "r509",
      "r525",
      "r545",
      "r546",
      "r607",
      "r627",
      "r649",
      "r663",
      "r715",
      "r761"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets",
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "STOCKHOLDERS' EQUITY:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TaxesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TaxesPayableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes payable",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r46"
     ]
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://tandyleather.com/role/EarningsPerShareDetails",
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]",
        "documentation": "Information by title and position of individual or group within organization."
       }
      }
     },
     "auth_ref": [
      "r661",
      "r718"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://tandyleather.com/role/EarningsPerShareDetails",
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Domain]",
        "documentation": "Title and position of individual or group within organization."
       }
      }
     },
     "auth_ref": []
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "TradingSymbol",
     "presentation": [
      "http://tandyleather.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock [Member]",
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r31"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury stock, shares (in shares)",
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r31"
     ]
    },
    "us-gaap_TreasuryStockCommonValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockCommonValue",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Treasury stock at cost (1,424,376 shares at June 30, 2024 and December 31, 2023)",
        "label": "Treasury Stock, Common, Value",
        "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r34",
      "r55"
     ]
    },
    "us-gaap_TreasuryStockSharesAcquired": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockSharesAcquired",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Purchase of treasury stock (in shares)",
        "label": "Treasury Stock, Shares, Acquired",
        "documentation": "Number of shares that have been repurchased during the period and are being held in treasury."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r52",
      "r82"
     ]
    },
    "us-gaap_TreasuryStockValueAcquiredCostMethod": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockValueAcquiredCostMethod",
     "crdr": "debit",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of treasury stock",
        "label": "Treasury Stock, Value, Acquired, Cost Method",
        "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r31",
      "r82"
     ]
    },
    "tlfa_TwoThousandAndThirteenRestrictedStockPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "TwoThousandAndThirteenRestrictedStockPlanMember",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Refers to 2013 Restricted stock plan.",
        "label": "Two Thousand and Thirteen Restricted Stock Plan [Member]",
        "terseLabel": "2013 Restricted Stock Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "tlfa_TwoThousandAndTwentyThreeRestrictedStockPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tandyleather.com/20240630",
     "localname": "TwoThousandAndTwentyThreeRestrictedStockPlanMember",
     "presentation": [
      "http://tandyleather.com/role/StockbasedCompensation2013And2023RestrictedStockPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Refers to 2023 Restricted stock plan.",
        "label": "Two Thousand and Twenty Three Restricted Stock Plan [Member]",
        "terseLabel": "2023 Restricted Stock Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "US",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesBasisOfPresentationDetails",
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesRevenueRecognitionAndDiscountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "United States [Member]",
        "label": "UNITED STATES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VehiclesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "VehiclesMember",
     "presentation": [
      "http://tandyleather.com/role/BasisOfPresentationAndCertainSignificantAccountingPoliciesPropertyAndEquipmentNetOfAccumulatedDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vehicles [Member]",
        "documentation": "Equipment used primarily for road transportation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://tandyleather.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Diluted (in shares)",
        "totalLabel": "Diluted weighted-average common shares outstanding (in shares)",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r171",
      "r180"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://tandyleather.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average number of shares outstanding:",
        "terseLabel": "Denominator [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://tandyleather.com/role/CondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome",
      "http://tandyleather.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basic (in shares)",
        "terseLabel": "Basic weighted-average common shares outstanding (in shares)",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r180"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482338/360-10-05-4"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "825",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-1"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "44",
   "SubTopic": "20",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-44"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-8"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14A"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-4"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-1"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-52"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-20"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-3"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-8"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481549/505-30-45-1"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-2"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-3"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-12"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-13"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4K"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-20"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-21"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-11"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/235/tableOfContent"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480418/310-10-S99-2"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480091/360-10-S99-2"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/440/tableOfContent"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/470/tableOfContent"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-6"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-7"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-19"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r95": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482659/740-20-45-2"
  },
  "r96": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482989/270-10-45-6"
  },
  "r97": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-1"
  },
  "r98": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-6"
  },
  "r99": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r100": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/606/tableOfContent"
  },
  "r101": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r102": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12",
   "Paragraph": "Column C",
   "Footnote": "5",
   "Publisher": "SEC"
  },
  "r103": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12A",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r104": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12A",
   "Paragraph": "Column C",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r105": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12B",
   "Paragraph": "Column A",
   "Subparagraph": "(a)",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r106": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12B",
   "Paragraph": "Column A",
   "Subparagraph": "(b)",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r107": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12B",
   "Paragraph": "Column C",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r108": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "14",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r109": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "14",
   "Paragraph": "Column F",
   "Footnote": "7",
   "Publisher": "SEC"
  },
  "r110": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r111": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column B",
   "Publisher": "SEC"
  },
  "r112": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column C",
   "Publisher": "SEC"
  },
  "r113": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column D",
   "Publisher": "SEC"
  },
  "r114": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column E",
   "Publisher": "SEC"
  },
  "r115": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column F",
   "Publisher": "SEC"
  },
  "r116": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column G",
   "Publisher": "SEC"
  },
  "r117": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column H",
   "Publisher": "SEC"
  },
  "r118": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column I",
   "Publisher": "SEC"
  },
  "r119": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "29",
   "Paragraph": "Column A",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r120": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 5",
   "Section": "Y",
   "Paragraph": "Question 2",
   "Publisher": "SEC"
  },
  "r121": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 5",
   "Section": "Y",
   "Paragraph": "Question 4",
   "Publisher": "SEC"
  },
  "r122": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r123": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-7"
  },
  "r124": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r125": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-5"
  },
  "r126": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1"
  },
  "r127": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r128": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r129": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r130": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r131": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r132": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r133": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r134": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r135": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r136": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r137": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r138": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r139": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A"
  },
  "r140": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A"
  },
  "r141": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B"
  },
  "r142": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B"
  },
  "r143": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-1"
  },
  "r144": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4"
  },
  "r145": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5"
  },
  "r146": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6"
  },
  "r147": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r148": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r149": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24"
  },
  "r150": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-8"
  },
  "r151": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r153": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-3"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-3"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-4"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-8"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-9"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/260/tableOfContent"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-10"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-16"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-2"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-22"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-23"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-28A"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-3"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-7"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-3"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-15"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-1"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-40"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-42"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-4"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479391/326-20-30-4A"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479391/326-20-30-5A"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "8A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479366/326-20-35-8A"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479344/326-20-45-1"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479344/326-20-45-5"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-11"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-14"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-17"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-21"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-3C"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-3D"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.M.2.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483530/326-20-S99-1"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479175/326-30-30-1B"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "13A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479148/326-30-35-13A"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479148/326-30-35-7A"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-3A"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-3C"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-3D"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-7"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/330/tableOfContent"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-1"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-4"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482955/340-10-05-5"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483032/340-10-45-1"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-2"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-4"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-1"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-2"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-3"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-17"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-18"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-18"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-19"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-4"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-8"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-8"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/718/tableOfContent"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-1D"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-2"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-3"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480454/718-10-45-1"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.C.Q3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.1.Q5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.2.Q6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.3.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.F)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/740/tableOfContent"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-25"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-28"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-4"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-6"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-10"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12B"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12C"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-14"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-17"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-19"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-20"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-21"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-2"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477891/740-270-50-1"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482603/740-30-50-2"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/830/tableOfContent"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-17"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-1"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "12A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-5"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-1"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482546/910-10-50-6"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478411/912-330-50-1"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478609/920-350-50-1"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478609/920-350-50-1"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478609/920-350-50-4"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479941/924-10-S99-1"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483154/926-20-50-5"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478859/928-340-50-1"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478934/932-220-50-1"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-19"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-6"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-7"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "280",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478657/932-280-50-1"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478988/932-323-50-1"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478451/942-360-50-1"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.W.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-11"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-13"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-4"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-2"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-3"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-7"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Column A)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478785/954-310-50-2"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478522/954-440-50-1"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477332/976-310-50-1"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479230/978-310-50-1"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-52"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "48",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "49",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481933/310-10-55-12A"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69B"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69C"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69E"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69F"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480547/715-80-55-8"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "231",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "103",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482949/835-30-55-8"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481372/852-10-55-10"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-17"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-21"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-29"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-3"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-2"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-4"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-5"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-6"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-29F"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477439/946-210-55-1"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-10"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-12"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r634": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r635": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "SubTopic": "825",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B"
  },
  "r636": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r637": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "6",
   "Subsection": "04",
   "Paragraph": "12",
   "Subparagraph": "(b)(1)",
   "Publisher": "SEC"
  },
  "r638": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r639": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r640": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r641": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r642": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4"
  },
  "r643": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5"
  },
  "r644": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6"
  },
  "r645": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r646": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r647": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r648": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r649": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r650": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23"
  },
  "r651": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24"
  },
  "r652": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5"
  },
  "r653": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r654": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r655": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r656": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-18"
  },
  "r657": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r658": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r659": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r660": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r661": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13"
  },
  "r662": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2"
  },
  "r663": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r664": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-30/tableOfContent"
  },
  "r665": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r666": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r667": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r668": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r669": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r670": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r671": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r672": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r673": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r674": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/405-30/tableOfContent"
  },
  "r675": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481931/410-30-50-10"
  },
  "r676": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/450/tableOfContent"
  },
  "r677": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r678": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r679": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r680": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r681": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r682": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "505",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4"
  },
  "r683": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5"
  },
  "r684": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r685": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r686": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r687": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r688": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r689": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r690": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r691": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r692": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r693": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r694": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r695": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r696": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r697": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r698": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r699": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r700": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r701": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r702": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r703": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r704": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r705": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r706": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r707": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r708": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r709": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r710": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "720",
   "SubTopic": "35",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483406/720-35-50-1"
  },
  "r711": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r712": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r713": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r714": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r715": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r716": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r717": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1"
  },
  "r718": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-2"
  },
  "r719": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7"
  },
  "r720": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7"
  },
  "r721": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r722": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r723": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r724": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r725": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r726": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r727": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r728": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479432/944-30-50-2B"
  },
  "r729": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r730": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r731": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r732": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r733": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D"
  },
  "r734": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4G",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G"
  },
  "r735": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r736": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r737": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r738": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r739": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r740": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r741": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r742": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r743": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r744": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r745": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r746": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r747": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r748": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r749": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r750": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r751": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r752": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r753": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r754": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r755": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r756": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r757": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r758": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4"
  },
  "r759": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r760": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r761": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r762": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r763": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>51
<FILENAME>0001140361-24-036240-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001140361-24-036240-xbrl.zip
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
M2J4$$98:02#5*37 ?^?8U/C""S07/$B%P-L*TH:%L)Y@,>C\VB8=^6,D=-4
MZZ%1VJ=9*F8E>B1(Q:7\84<\D1&%(F@J-)*(4\*)<E1"RU,&O2-/+(+I<I-A
M*4<-U";-FM<C?)H,'Y0:[[?;E#',">%^>C18.NN]>6B0 4MVWPG?:/ALL?O^
MN; W,C.]0D&EC0MFHH.P8,W4E["CGH#5) *A]Q$XE]C_CQ#I/QD$)472$6(
M7FYX7D#00,T4??G-)^@V0I5)190"J<:*$XXL)P83K@V!@GG8XJ4:$831;87J
MBNR+^MV^R[(LSJJB'H-ZE+(L;2.6XZYT(^K31.J)&T37IK,6O:'U*:JKDK:#
M2LAJ]!9RA&&J.:&(4$"]C4$!1TX+2/V7=*DF!F]BZG)M*(A C4"=#E1L_'P*
M+*!84X(I59 )DP)@H0<EU4M>^ J;F#)8XR;Y]8<N8/J0A7&9APK&C;,PHE.T
M54[1-%TE!'64&22L38E!1B$*%13 &N"PU37.T *-"@IVF6AB3B*&+C:?H-N$
M4D65<#S%$@M$H*+2&_V2A"7YU G&^5(M"@IW$=U:E*YJ'4),:&Y(0G/+2!.E
M)DK-ZO3<FK*_^8WOVFVU'RN43;@)-:EWD^H,EK(3G:EHIBTZP]03N,\MV>X<
MM,W10.;^4N1E.6*W088$Y8P0:!%)$1%4 X*%A19JSI%:[B)OL O2K=T"'6$;
M8;LLV#*I39IR85S*B OA7(6A$\AA";AQRW6W$-]-61-7FFV0N[7B)/&G<.J8
MU+I[W>V=H&CL3>'Y61UYU@#S(R:A-C0)]>K13:\#D?LX(G'^<\N&#U[''5R'
M4V;_4UV?JO]&<U>6.,6I%C:EQ"L\8:ED' FNG70(T.56:^*[##=Q*=L< )J3
MPZ^C>HCJ87/4 P1.6(:Q3KDC4A,!"?7: F)+G0&R1CTL,K7-=V$CB[FM3SUL
M=E3GX<3XM+!.V\:03O0-5^4;CF\(=@PI S#1U!$B(>8$" F83('2*:;+W;4/
MX2[&,: 301M!.Q=HJ3*4,60QAXH8[K@W5Z Q2 A+ $?+#>= L$L)VU;0QNSY
M"CG6+.B_"-)$J8E2LSH]MY;L^9F?0KW_W_[JZ29+&U<@1V-M.5LF!G+V*8C9
M>>C=F?M2VFK-XVCR#5J%D"20.4HHQ@I:J  AEG*NG%[N-B>QZU^YK<9:!&T$
M[9) "P'D*$TUDHP2(*&@$E*C)2!< $IJXB(+=+'XKA!Q5_6RZJ35B\U8\\=_
MD#QR8OW._G'6EFW]J!F2+._HWVC?+\V^7ZA.ZDF*?40C(6,-!%)()SB1  G.
ML0"0BE0J8QA8I!GALA_6[/W'%OG._EX#%5&S3(2(GN:C!SL,'2<\18@0!)$T
MWA9GS' .-<)LR2O@FFB!-VW&7FZL8*:S>QYM\LBLOYM45W:3TA:9Z[<NL_]X
M D/\!OL_(8_>NQI>$NCNQ:;5O_9-%IGT_WH2R4ZWL.64^UK>3-X:''M, /C%
MBT"G8XN*M=[\N&N9%S=7LNU_BNH.Y!ZC) @=K:YT"O^3(-WA.6U;L2S_WGO(
M][PP=Z^I?N-[HG[/_,_";\M.D?]N]_I,!C6+"'H=JQI[M.1%M6YCKW.5Z=_;
MMO1OR3S\LKHV?0).O=]GW_"^R<J;EKP-5UI9VR9_R*YO\J+CZ>E)V,IEIS^^
MG?V/UMFBL,:W'%3$#07XRNJ$G.8<<A,=TZUR3 =2-ZP8VMLZ>SHQBU%(4\0=
MTHXXC+@T))5,*Z2%<'7ENQ<82F*LB2L98R!I\PFZM7AEP'ESDS*+$236FYF
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
MV]E'P\JXCW6\HNRPSS?^RIX*E_:D\SU^)UO?Y6TYJA'?7Q6#UCTB5^!+0 7
M$6(.E&__&O@EN>KWO'*<!MY23R77.E*#6Z.LWGD[PYC^:J5_\TXMBT<&,D6@
M_]4M.YF['9>J]&8^A,[&K["-*=-!+&1R501=_<?+@P^?CLZ.0WWX4"S>H^0R
M**6 W\.@YSTLW[^5(PIF$CX38!K]_(>]O<_G9RYKV3N1/?<ZH?.S__PS_OGG
MG_?V]H<_Z?\[NR+<3:HKNTEIB\S=1WR-<SK!ZHH[0R4P"M=ZMLWJH#Y!M<JV
MN4T^65FMK0@3<5[<[B8G;?UFG-BKZM#H9#ORPF,O)WM_/SKYRU\O!\\^//MT
M=C[H@__?ZU!(KE;GWVGZ(%[](P=]@VJ9[5C>+NDE[I)QL9L4O)KO*Z'-*WGM
M%8<?1=;VDUS>+7W_O1C:']K>='I+CJLA^0'VO_GQR]</=?8)4_X]S3YA$;[Z
MTI9=XRT4\WJPG'G!/7A )P1KK-(CVK:"!::]N5 M\ [?^\94];VGM7NW>EI5
MNT[UTYVG]NQQW"=35'1?&8Q\F0B+#9L\(?=8OV"KWE%[\#USN"O/7O0P6T?2
M1SNRD+4"DR);9Q;.[#!=^@G0)K_Y.U=E<N3UE4D&6P#NN1L]^7X>BV9W.U;$
M--^U(O_^4#<'-%V_=#VSHT^5OD=U[$7V8YH(E74G12R*,TL7H'LI@L'%[=.'
MSWLG>K[J6Z:6Z^]F>B'Z+')_(BCXF/X:V:[V8H1DQKFDQE-8J5P]<\JKZ?X,
MHEAIBPF?ZUER4#.*:0G=S12339*)&01@+HVQ9$'9,H-GR;/;DB>R1?5^CNS+
MZBV$2,-9>O$<J"Y;!2[QY<]54I$7F\J+%3C#_8 D1?.40ZG>M;A]"*>VDY2R
M9>_7+*M>M$"EM?)-[<_I[(HV'D\RLYY']U>Y+((WZ]@?/]MX'RL&]<VVN_:X
MR*]#LC(T^GO6N3KLEK[[MCCZH5O=8!@>E*7U_YGQ_5^<(L.0%"A5*3&4<\TL
MTHHS29S1LF:E"P$$P$Z^V!5QD.TB/L,"Y$6#<-4%&Z+"B ICLQ6&,S:%Q*L,
M@BV!6,E4,F325%(-+3%UM:^&"@,O5&$0CJ+"B KCT;[^:4. ODS46FK\O&VY
MHX82**@$"E$&5=A[2-*TY@0CC]G%3_,XW:5I7=WF39"C"- (T*4!E&$L!28(
M6.O_EE+9%!',4I0*A;FMJV(U!.@"IU7,=CFIFU8W08X:$KJ8H2A5]99%GEE;
M5HO-FQ:X6'G2NP$E9U:DNY:QE.PISD00O3/WESPWU:8:6WS+M"TO\M;8J;?0
M&BB!LYAZY6:QA!I0KHT#CFJ$:HL>+"'(P'91RAOL,JP5+A'5$=7SH9HS %)!
MN'74$J6(2IUF6@! 4FT4K3L+>AF1@&DN141U1/5&HWH!$-6*<(2] T& (!80
MI5/BG'?XD;'(<+$BMQ_2W;3VZ,<(QT9V,\)Q.7!,(9>4826$MB2<5DR5<P@9
M2@4U *H5.?D>CA TQ,G?B%5KJUJ9 -.'O/R_%'E9)C=%[K).@YS\K0Y-KE51
MK3U36$G<YTK@1K08EE0#(H2W^ G!)!4IY19P;*GDF*UNR0#8!;#)[GP#@!%1
M'%$\!<6(*D-2EP)!*:&2<0X%L-8AK+U1DM:X!LO)XX-=@9KLOC< &!'%FX?B
MIT"2$\2!3 &$DA*HM?\[M0+IE I-":ZM2;<$;QUY2.*ZB?7E"$E$WPM$GZ78
MPE0)"06QW IE@98:6@&H=:+F2,JE..<([3("M@Q]JW71UZL%&@?UYN'Y19$H
M2E&4HBA%48J:0*(H15&*UF^?K6US9[_:8OMK8G_<A-J,35HL&;W'IGB/"X_
M#N4N9(E#?OBH+WZC[B? S!@(#2>,4*Z%5, 0 [7D4CM1<_[+4K(J8E?0&6J/
M+QHF39>\".D(Z;DAS;0PBBH/1@N)0DQ I9EU(>^"&!8UFZZ6E6*!.*98(J:W
M#-//!RB!QM"0;M%($\XPE]A83)&T(D5<U*Q@7E;"!:&ZX@<O1V0B%E\Z%A6F
MVK#4@)1;PB!5UAAA!$#4F\-8UYU_N)3T"]@5J=@R+,;TR\9$8F*PJA$SRXLB
M492B*$51BJ(4-8%$+U**-B7]4A\HN_>3QW\TQL[AV6]CV1U1':_4/P++%?EU
MD@_/RJH-725)3.9$SW2%D=^>;'[*RU$W%J7,^ZO,0I,JHHD4V$%N,6 @152(
MFBU^2TGCI'6[;6.\-R(Y(GE6) OCH 8:4DH),49)JK%P5AB+,&9U)\0O)7O#
M1-UBX CE".4-AO)S<)ER:"#R8'00$LZ)@)A!3@ 2$/D+M0LEEI"T8; A.^@;
M(-41@B\+@IHJC"VW-G6$8(TE0MS(5"@' 6-H55MEX"YCVU9,-J9J-B9J$P-;
MC9A27A2)HA1%*8I2%*6H"21ZD5(44S4A5;.S?]:YLD7R*JO<@]>#_33O8F:F
MD5Y%(SW0ET?8*+%18C>+L%%BH\1N%F&CQ$:)73=A5QW$7:LG<-+NV,*6G:3G
M"S3? VB<W#4/M0M;@/'JX3330'9Z6:;^KJ!3.U9MF''&H%0$6$:P$IQ:QY&!
MBBJA %W5V4&"-7@5QL+8]3K"]$7"]-DH5:DU3#)"G* $:":P1RMR5%LG *RK
M";Z(Q5(N^V'-WG]LD>_L[VT</F.@>@/!]?P)32AIC3 4:V6)45@!K%*#4VZX
MLECR%:U?@KPA2R?JZ?PZXF*C</%L6%!!"--AT[?E!"JE* <$:@RD)A#;):TI
M>FP&:3S'5YR/JCVN9VWEW$(.:C=IVR8=AS,GA9JG<1X_'VNS E"+'\["#>Q*
MD$_S=CZ^ZK*O)T>5I&4<(N.H,"D!0$C+#+8( )DR 71-1:FG.L-EQ8V]1TM+
M-=CJ;BH2HRZ)NF2),;69E8FPFAM ,64B)2Q-N166"LH52[GTGON*-CC5;:/8
M+A6RX8&XJ(6V7@LM2J-0!H&%F (,"1>:.R)2(Y2 %"M'X>)"&[.9)[@A1?6:
MBJ"H Z(.6+0.0%A"#B14Q& "5<I=ZARQDB+@.'8UX<VGQG%FU %UB;NMTP$-
M" ,UKG;,9=Z1K22O7:C<HV/]JH1&+5:(Y\"O3X6NRF.;1:VF!$OG*-?8:"(9
M%U8(*1& FJ0:R'1%RR!XDY=!S(&5;73)HE9X<5J!<VH8)QPHP,-I[!Q#[V<Q
M8G@J": U6B&&<*)2B$IA14IA 0@W0D'.&.;" 4)PRC50QEJ@7(JH<GI5JT5(
MW:% S8;SFI:01!@V#88+F&<-AP2ES$!NB08P3*\40*PIQ1;SFD7(+SBHT>C(
MQ4-K5>(&I$;W-6Y :E1*H &=;3IAH\1&B=TLPD:)C1*[682-$MM04[MQ^<#^
M61+*>M?*]G<K)QWY8\HIX(U* S9.*)L'Z95MAAP4Q#TN\NM#[_9G[:[W@<^&
MIY-\J 2LU^XRB-?1CTXA\\)[RK*X/>G8Z_(T;X> 09&W6E74H;<[9G37LZ4
M<V1$:B4A!G!$+7,<*RB89EJL*-T':9,7>#=OOHXP?5DP%2E'BDM&.'9$&Z(H
MMM8Q9*21R++:Q4Y+.2.BR1FX"-.M@6D3,,<(08(R(9@RQ*9$A3-:L- 2,HA-
M'>:6DA'CM"$Q^ BO"*\%PHLS2:$C#E.%"<,>:@*G"!@-&(4P9:L[VP&33018
MS&?%R%6,7#5&"*+$1HEM/F&CQ$:)W2S"1HF-$KMNPJ[8U'["IK=G%C@Z&>:H
MDILB_Y:5W@=ZKXJWC4Y5Q?6O2P/YZO:FS!*)N)0_^BME/]BV==EH%,$R**@!
M###NB.:" Y&F!*=2"V<DK0W2+2%_142#X^)K!4K$<\3S''@6!D."+4\]5(DA
M0%EJ##;.0@PYE+51P65L-$OKBI9&0$= ;S2@GXM.92V31C$$B24I)L(  1P6
M-#7*,%R[.7P)*3&$&U)2. (Q G$M0*32:8@5H1Z+!% FF))"&YY"K@@G<D7)
M,XKK[-[-!&+,I\7(68R<-48(HL1&B6T^8:/$1HG=+,)&B8T2NV["KCF?1A:1
M3X/I0PFU4SL\IG+3TFADDX(#)N^JEGVHST^(8?]I*=Q9:(!A*>-^I'R-[=PM
M#!X)10#C'(/<6N T<9@H*:C$Q@!C"4Q%3<1^.3O(P"9%[%<*LJ@+HBY8C2Z
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
M)Y-.ETF'4.I9#-JBE/3NI>8LA,"BBC@X(K;4=\Z][Z>6I")J??]F. V$[9.
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
M3>)T2O)6:7!$[S)$K7KYNIL.=.K,ZZDHK^2(/;R1YLL*%ZZAO9]#BK8%/^>
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
M,JA]S,M(;&>-]H?5*D<UKI\!.D5"TNR&GY<>"0K.0G\?75U/TN^3WOVIT8F
M3Q*4SU+# ;[CRQ&P!;!!_6V P;PRS1TA3@;% *BGFGG4D_J;N.3+91^TI-2<
ME0%*2NA9_^O99=_[,/RA\5J+* **VFL=TB$CR9PT4E('_P@J 6"U?V(Z (E"
MMA/%O]?-_;4?P[++G'&";:14,,\H$2;8*%QRBQO-@VY=)I,?ZMZW+#F6?C,.
MU,Q0WBQ__[!+Z:[&[B?E7&,?@X%R$TQ9W6;%VI.S) 4@$U>SE_?6SP"S' LE
MN$ F,L$I6)S("\R9"I0Y)L%62/Z!Z0PLE/"]S@3"SD5$C>(^,N<TL '%$D7'
MF17*M1J[F\[$ZTD)!M.D#/#]:QA9^%3M,A&Q#]K\@Y,19V^L)R-.W]G;YX!1
MSZ4(F'OI-0,[TM!HK47P=RT8=G:7 ?M' /P.%F[+AP<#5(_[1^+S]%'-:K_'
M_C,K%2BR"(%P,,RT<=(K81WFG!*B6OWZF_;_ITE_4*<J#/WLXYNKZQ)(L+:L
M-AJ64:+G^\?%3I_;Z&=E:)B_O_26&77_&DP5+D<#/T?>\J]JDC57\#98N)9X
M.L46X>.4EP<P=O//Z7G%U/<[)_'%]S6'SU[^(5R;?EE-.25%-8=F.-/2ZG=/
M=4&?BC^#ZCDIRU0<>M(L1K! UTME:EH_PF_A?G^G1<VJ<0*=;ZMRS6P6RCZR
MZK9516+&UZAN;X9 [:#>WSS@Z*5"82FE1LXR2JWQDB#%86D@-(A9-L'FJEI+
M-P1Q@5.GB528!8HL!F8C3D,G$.'>/X&"]O.!;-?8YE\G]])"1VO2$KXT2(W)
M(7K6!^NK^03&5?']?_R[(@3]Y?6;U^_JC_@O+VKT)00GW;$,"5^U^^VS&4Q"
M0[3IYW.^&)B;Y/=*@*PQ#/]??OLT*6( B_S@9?$ZF927\/VGT<A7Q648^)JP
MDE-J;IK6V1-U(^**@7<]29]KRW#VD]H/9<N9=GG+'$P9$R !IJXN/R[[0!RI
M+4TQ,] CH<VIBFBZ.W4KW3F86Z"^/UU6TU>+^YO?SGOO0U)1ZP:TO+PV;>=<
M>]%X(^MFS_JZK(VG_@Y&PT]GZ9%^2EP%O'-*<4/0XV$]*6NK^7;C5UK8G\G#
MR^(W,YS 2@9]6?EBR9 OS9>YZ[3A8EAG?@=).8.%P(7&X5G/?IWK8AKY@0<L
M_ ;-E211UE3PZZ99P/V#PM@*C/"Z>V"%))=D[3RH5?CI(%3SU_= FNRH;,:\
M<3B:ZVL 2RV!5RM=28O193!^-KJO3%G>I"_JIM9&PZ*W]3HV-(.;-)#P\-[4
M.]PL&DE6IP([D[O%K>&K"\%7];>MD)B/0EHW^Q7T=(8&'QHWJ9],O<YNUD98
M4R>-.S9=7DS78U>I'1A_JV0X]F RW'JBW8*=C^0$.<00;Y4*QQY,A5L_6EL,
M,=UQB(NV%?.['_^90A2?)@-3#E) Y7,?'M%$O^8D- Y7-87[  1PE5P"_3@-
ME"0(?=]_47AS93[-5XSOP\M/+WOUF@&J9OIEG2H'+)4L!5 $RCIBT=Q4Q')T
M54P&X]*<?>Z/!F&QXOW]'_/U;I#\$2]Z\++^BX46W+0LT<(PS&-19;@:)6JN
MGYL('B"?@BY%[<V8MJV")?<,?E?S;7I,\IH:FP*3-[4SIJ@FB=22+CUJ2 .(
MHGEAXZL)UW6^;/&OB6EN*M-'F-7Q34.-<-]LK4V^T>IR6--T$W9:;M.+^N?0
M,QC(:9RK:,)Q=SLW-K^'X;(!#OP%KQT'F+V:Z>H>+W'J+07C(;WAY7&!MU4"
M!U.[ *]5VU]WT^YIOL6.Y)9>7H<H_]=W/WUX__H]H.8GF+S?S^&/>88YF-BF
MK'/&+_]_]MZUN6TD21?^WK\"ZQV_QXZ@-+A?NN=TA-J76>]I6SZV>OKLIXD"
M4) PA@@N %KF_OHW,ZL**) @*5(D1=G<F'6+)"Y565E9>7VR;>_0E!.U^^4W
M*F]<CJSE)'V"*MW<-)__\FS^Q6_+$J3 ,U7B-O@ 7=+(IK0+SQ$!<YK!@!)^
M/_*&"Y6'8[3'"W61T.3E=\]^#5N]?&#H0_1M:3N!;\YB_.J,PK@_@XB\8[.Z
M7V+YMYM*W2 ++"0E34S2'U@?2M\7O^HT!XU;S(;@*>8+-0?@*N1/S_ZZ<E56
M+NM_@)*&RZI/9YVUI3.9WR[%+I>N,\*8<5.A;?GO5Q>__?[F\NVKRP]7;SY<
M?8;-=442#&0;UIQP2LYA/75"VW4_#7_6/_7^ULHX'R#IMLK7<J.'2+I!5\&Z
MF[S]V-B?NX0.J4&TEM30,=37[.&OLL#X FX<%7L@0P7.S']-TVMR@E%&!RHR
MK)(';_4%'BVM#.%?8W4YECDJTB;%T&IG&:0YYFYQ&*LZI>LNV%'#7=,BE0D>
M^#O\AWZAES#MM!;/$>H'3KI"=T&J;,4#'[);I6!XYD-8;]!F67>3OQ_6>^C)
M^V]G9Q\_769YP;LSZQ/P1?,<_GX>/7_^_.SLX:OD;95"XED/6:5!LV?=3<%^
M5ND*O4+L7V4EE>]N][?>))DI<'N;-YW3FXQWV(I_G'\^-]*R*-"P@,]T^.(&
M+W*XGC;AJ_(6COX9VA-6\$N-WJ.RQN@,7 5V"IQ!8X,\UY@.D16@FLL]K3P7
M?R?+!O,9)CS5%?"IRO-J=[DV_O(._6SQ#*^ZN^%"]Z_R^HMP(]7TQ$Q(([BD
ME1G*^#COJ49#^$S X_V\E0-*%V^KC G/?@C?#EH-ZVZ:S_I^.NX);ZMT#<]Y
M"(D'U95U-T7W$0U; (P-+4;/DSZYF=58=E%@&I-,%F55D],WJ7!#<I;<H'5>
M80HFQ6.G^"L<UAB>.\.(E+3+EWJBVS3/1J9(E%2^]Y5K&D3>&U<["#6LWBC0
M.7(#FJ_4>81G87!HYZMCII^3&YY."WZ9M61Y18*L(<5X*)P3129/'!:;<1J[
M26R'3N;9+/0M3+MQK6P'X1P+>]='G%G<@5=$ 4LM#!U96>Q$B9TDUIS5MP_.
M:%#@LA2Y3WCFT36B^;?K&?QP*[R_6<&3!KTN4U:(!9.JGCH YH3LO.MW=Q)A
M/>6V(/=*D7L/:;*-#'(?(H,&]=:UKNL#I0X?9)T?MF1;A8H][T&! Z*^<(HF
M8%DA'@%L,RI#P,\2NH ^[\*'W<.L;-TC@UZ.)&MH7)I_8T\PG8,(H]M!<V[0
MLG5 ;,Y[4%[0 5=.:SACZI</ ZC:@@8]4(S-P5S6O'$]H._@$G1CLN^-E"K]
MF2LH/X>"UBN@W G=[P\<<G]NW.OR',DPCIE+7O.$4LH,QR).<9XRIRQ@S.Q4
MQNY/<C[[]7),"28_[U,^[I7)^]RZ[<,W@"8Z]"X^46_O&TSI4('_?!4Z^@/W
MH>6OVHBK<M!V+AKO#UBW@AH[X<OMX.CN.:@5RS6\" _$OWT8YNV^)K4:QZ1U
M("@&)+^O7J60QG:<.K$5^(D;9CQ$8RL,+<=/$Q;Q94GGN^H2-?+=(>R/@^H*
M]V*]/9X,IZU[VKK;;-W4X4E@N9Q;+'$#QXF8E29FD#G,3#E/![:N8\'_=K1U
MG9'C?>=;]W!JR5YUCT^#N=;H0):YUH^G@#R>J-JO:;Y2H!Q&:OP):_QN_%&L
M\,4X!2YXKYA QVZ)XX#9/+$\VW>C@(51:F*U9!PYS$N\P;X9NX.;!QFRV)S[
M\63(D9WQI]WQV+LCM1/N^H[GQ8R[W(GCR(Q#)[4\EH298P\4BNWPB+5&0>!^
M![OC@-;]A@W1]NEZTT*W8Z.IV+C.FT>T]#>ES"/:$ _H9OB(<FN'X]ZQT"/@
MSI8=WXVO!#/JX+Z6F]HQ3\,X2=S$"^+8-3T_9HS9+ W]95 %.[(D1E;D')&8
MVTE3Q4=T#)QV^FFG+]WIF14D60;;EUFQFW$>ABPU0S\-N9/:YA HR0X5&GL$
MLN0'W.F/J !A/XU]IV;,A7ZO+J\N?C\B3<?=6;K&+H6<UIOF02)A'XW^]MS<
M;_?SO:?1]X'KHC")["2)HXS'F*?F@IYCA8&?))9G6A[W]^OY< +0>A;[;QV/
M+%S>B.>(5)O3UCYM[:&M';EF[(8\,\,@<5/'C)TDL)GCL=1*N<F'^L;L,#(2
MC**C-F@>M+47=!GYQ['TV_*V@ACQYNOUCASUU-L*Y<,+UD!G_8X0:YS@V58@
M,4>FY3A6G"9^DKDV<Z/0]$S7\_PTB+/4VKA-PL!,@MBU8M./(F9SE_M.:+I)
MEB2F9WM!ZG/W":!G"2HN;:P@,.NP5AAK<K'N%M.!L**CHL8"JB)'8EDIO+J9
MO%$A,7$-)5,]@&I^VOTY4/LCQBE@G[" 63Z375=<0/#](FOPC)ORCG]%N!/6
M J)B<1'\J:<!.R/CCDN<*"[ \(;&AS/(&P%&?X=]R5C5J(YD6?ZM19\Z)XAX
M'9P%2,ZJ"H$MZ4$Y0M/+,1,D/I^T)=25Z/CQ/[PE )UC9V5VAJ-14"R?+O]H
ML5@DYA7>+1Y:Y (Y)>>U0)V]O<4R:GHW]DSK]V";("3]N.F*O3M(PA:X7@,Q
MQ.]Q:O<IA>S8A6,]#S9K*QM1X(/5F>)I OX?:91CIQ-L#(!K"@.Q;-7[IJPT
M$4Y-VN3@8U80^F%]P[G@( 3+H<(BI(IJ-G$^4(VY7Z@H;RLX%6\EG,IZJ;*%
M*'JZ4%'>5C@.WDH<A_74VH+$\U!1.Y+V;U%>M@CP8B^-AK<T;HA%V8#B6,+)
M_6R\L%X2%#WLOW;;M\5ZN+'R<59(H(A* 3H@3+Q$^WMAO]2D@]C4[:8M)Q*0
M ;?^&&;5@SW5?E4%YN+''BPWU6L+^=N"1\S@1*@(T0D$.+6*X=^P(4W-15<0
M$"KBX1J<8'<)UGS+8PS&!!.'L;0#$/?AVR3 OZ@"14IBGQ XY;3'?E04:R4K
M0]Q]$/B$0-@A1*&GZML< =L6+JI9"V_+7Q< .N;D<B9&/"EE0YU;^'G:(CLJ
M#-O^RL_T1B:J2<O<<P46H8"NZAJV@/U4E7<"_E _1?0.G^PK'/Y4<]8>N>WD
MQ>BZ<VB+/F4/D!9;06_X*Z$WUF_\+:3%TVUCZV^%F^&OQ,U83ZTM2+PG8)T_
M>:>^B;8>$HJYW8D2XG1>:BL5CN1&'^U?8(,.Z5_&)_T-)!4EY 665B]T!CE_
M-*[8"I7"7UEONWZ!M^"* ]G0^R#Q5J@4_DI4BO74VH+$>P*L04THRP4.NM*#
MR!3532=E)O71V=?N.,XJ@IV4AM$ //OB6Q26N[0U]3.PV\ *(ZLG)N0.1CFQ
MN(.[<ULH9II$: ]W'3YA[E G>)ZT4P_@!7F9"K,6S6I. ,42+UXUZ)Y[>M>4
MA&>9ZL2F;A:=2:CI7_>E'+VF <DWS$FL^1O4"%YA*T*"LW^E=_UN6[V2EB%[
M-BD_ Z(+@?T.M^'XWHW! CZLLN%O!='@KX1H6+^WMMB03Q>)Q]\*4L%?":FP
M*;5VB+>E,,U1<U;"I:>_8[^)?I^)O.X[<NJ;DJ!LAB35@O:@R9*B+E$6H XO
M=F%^*Y&'ZY[MV&YA*4G)*+S%;A0"\@_M,XZXO"B&^;><4/U:C/ >TCAA]HZE
ML,1LA8G>):UUCN'/(S)3T3R*A8 $P8Q4.C<^R&:@G7';>0")-= N% M]S0E
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
MH6S,+GR-H76,:?.J#92+</RJS,]R#$^I00\1.8;BM<G@B,E)"V;16*I=B6Q
M4\@(/A4CR7[+HNH%JYZUKVD.\.":4[1 .OP;]FU;'\Q L'DG7I&?^G__U.W)
M7=G_PR# O_ZDP&OQ;??RP;SF<?,:SAG1X&QH9]K<--/,3JS0=UTT5TW;<IPH
MY&'HAHZ]B^Y0W(HCFS$O")+(=1(GSMS(,Q,/FZC:5F3=/X=:!59CX.-M=KA]
M;GRXO'KSV?AX\5\8=#4N/KPV?K_\\/>SJS>?WANOW_QVM837UDK5]9/<@C)[
M2D3<*%5CZQG?9_"(^*O+U,5,@.HZ?F%['IA[\I^72X+LVO5@'.+_7FY.FZ$T
M"_$=UINPL?8^FH[ T(-O\'OA9.M"@T8;!W%TZ$B5+$=I),+552(\@PBYM*W@
MC1=XL=1X9%CW0OW8]KNE^-1_?GQ?5M= Q5<W&%G[C8V_C(P/YQ=MTUI*KJ)W
MSSU'C"B&&T2"FLS=[HVS'5K&$I%2!6)Y.D'[=XW)^SN<A9>9>.=;>;-43W_#
M%@%W8/2_8HBNWLQT(R"T'1AWE/JQ"89/$"5N:IH\BTTOC7DR8.BB!\?YY]#K
M2"56]"'R('4^7*Q5CY=A+2YJQ]X(I#/^_Z)Z6X[;[F@&1CB5!TTU>=3J[Q'W
M(J< ZE=QU(_YM?B ($IC!.S&+#H<2G.C:ACGEU,#,ZT1L5+EO^GY?,;\<O:Y
M$@.WDX*GUT)KQK QUM)B6+.K]5+YLDUO!D,5")0 2%%3"L-J<>Y\C+U",0X]
MV%3THLWOZ^!$4,> (8^O1VNP3C\B) %/Z[=5>8M<42NVT#UH7F9QW_<X&%RN
M&7@Q=QS?S&P>\BA,K?4Y)(?AM_M@>X*Y,TXQ&BP3+F+:7&U6I2"<'."Y5#\-
M8].$O5^'[MB!+C0RZ)L1%F7DV0XTH]Z8>X#1Z_'U5BM+KN?;,9HO09JZ9LIC
MRPY,QP6&X"SQV'W 7=<6G"5.8G+7 ELL=.W B2TS3%PS"S(GBVS@V8,I2ZU/
M]=V'5Y?OWQA7%_]OM7*T2EE8/ZTM:+%;;*WUN^ A$]R3*D<(=(O8 5+HBRZ<
M]_&?4S!FM5!]HU[3;I9/\*I7I0*+NFRQHG1_%O- 2W3\F&5@3[A1E(0L# )F
MQJD7,'_0\'>7PR'[NLAT6I%Y9J\YHQW[/%H0F\]I]ON8M&-%(6C$41!'+HLS
M%MHLC#S;C],PXO$@$+:[' A[MY/&<H5Z(B95S+1P;T\1?[ V[9P[\'^8[;M.
MI3XK$$D(Z_:6_ X"<_XG)=M<3!\N> ,:RIELT]-=65:3&U#/?S;LX>BZ^#*G
M7O8RHWE0J<<\M8;3\[4IW.5I>2<>CF=S]WIZ$(PP_I+#L_"!=5.57W@O=?I^
MALZ<B^D,3O+D"Z@S\%KT.N>M':)=HWQ6RWZ7KVM_3_-Z4K 9?D,5JO^6(PX=
M:*UH#14E:UK3IA,TFC)I+ J=E2$[1XD<>U\BAR>@UYDIR!?;=+G%F!ORS&%^
MX$=@3J1#V4:K8.BWW7VV?TB1XWO,2\T@\H/(<C.7(0:_#>+&-+/88LY0ZEL[
M:7N'(L<:R+::%SDD;*06.G!V":"=NLM#SGA*!D@'/DK7=7G+J< 6^N/\\[E(
M'QX K1FI/S2'*0Q2(D_HZ+-&"Y:KD'!'<]5UF'X[A.L*)E&9Y)3V0'8Y7C<
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
M&"^T4\OCMNV;89R%V3 @P9&QS3X,/G>E"PAX1S6HNJ67ULLC @M"H\=%QR-
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
MM,U_<5@/-7H]J046+4R<Q+,RQTU3D_F1Z69V'-BA$V3^8.GJ$=@1U@H[HH<
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
M3$PW92YG:>2X3L0M[D2>G8!VLT]OUX$%C>6.G' @F?>[%C2[<HX]P"'F/A"
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
M$//_GG)<>4%2?,-U_I4+AA5$:JF+[M'T*QOC&VOEI^6T-GD"$IHF0MNDENX
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
MYUE-"U-T4U'@2[V\5K5]-:YJYHJDNJ%WR&AR<RVA94>O8B9'H#"NU/J2]2A
MDC3NV8QF#/;?[53H5XHV])@6!F2"IE,YK8M9KVI)/@WS5ZNZXXBKFR4$5PD5
MO<>H3"X*I<Y&NAMVLK"WVYV%T2QQ4BP[)OIB>4SA"UHAA,NO^^;,$G*U\Q>K
MFG=3_%.E<ZNG$8Y$"UNMOFZ%3L$F(FZ4M?*T=9H0U)_*@T#AI4>A2MK#J*Z1
M>D*I+$U3<(42EX_A*5/E.*NGPA3@U7*-0(K/4Z#IGH&FZ!1H.@6:]N(Q%'7[
M5^S;0HJ-_*G!GT3M9&<R@]RB5*-_3:N\3H4 Z7E+)2"';JIUN74=4HFJ6L/R
M3"WG"Y0>=%$(<QQTP;)"YXF>.2=2D#H3F&2?N("./83\4'Y0D3=)A0RR0%3#
M5.AP'+32=1FR;TT.TK?D"]'-QRDJ0D_K/'O*EYI*G/V>HZP]!S0B"JL3GD+\
M(! 4.C!2/=-7'+2W8 .#@? %CJXS=):<44+,C5 NC?8XAW-7E,H(C^?B<,7)
MU3I/A4L+<7PZD[-7[:E<CSH<4<_@QC1(D28MUFW%D\A.2\FDOR$/0\R[%!8%
M]T"Y%BVTB'!7H<?L6N;.C)D *,DJ4DP2D?*J'$.H",A,1:RCE2X9C"YB)B&<
M8"(")<G?0]"0N)84<FM=GL@B4\J?(Z\0/ 0/+ZFDM3SR>H@KQFD_9:IJDRU2
M/2PW9J+&$^X4#@?822)6IUPE!&BFRJ)+BC,-[0IX@1: 5(6C4C7J9=B(I\,$
M=?;HL*@ZG5,-:LZH[4!%"9Q#PQ1!3:+OHY8^?JTV@F;<98WU%-W6LM:<13 &
M;/LD\M>T-%DFIM'ZQO7)M'6N@TNA,$J("=I]3F^*^9@#2TA2C$&54:89_MIV
MML( 1-RKS-'LJ.5;E>BBGJ&45XGLHESH_!M3/G<]>-?UPQ+N:I)*TB.)&!N%
MR'5K&X8I^Z8#5^IIHPU/;L94L(WXSIV5V<G]=J PH2D%BSFJ]8.3TWTL6+95
M4TQ5N<WG[;5> @0MK[8V*#Z'B2[6L8NDSR7+T0)@O+%+U):68%?TS%1NM60Z
M39!1@OA=+UU*V*ZMW=%F3[6[7L#2--+8*/@W*7D(R+6%A6IG(TKXR/DIS1!M
M58FENLQOIF*A<@-U=2=%M^L;#>M9GJ7JA%$S[/:"1JM^98\N0SJ#*I-YEP+1
MJA()*%@WP=4'# =VW-*ZTJ00[=(-.B$R'+R:)WO,\:'U(KU[?-.F(< +_XIN
M9A K!3&"9K[AT=A1H&,D2F.8'_KYW+DK#E=9F*F_3GN7LHXZLU*,'E=/(D"2
M4[%N']116+BG1%:N1FTF?FJA3&X$1(DHB^DVIZK@&1*WZ$P?3%*4$;L=XG'-
MA 2+_R7!*U0K0S!%4W3 Q *JY9W 4RP,!5_S63K6NK(IF!4YQ(4)N\BF\H'X
M2MC71<'QC%)R0J8:],1%%U2@C9#?JFJS+K*4*DI+V5)T88<V>;NGH:G]_I55
M*!5Z*O#)HKVO16N;)XOV9-%N;-$^$"AM$"ILMPAI0\0;'/45U;:_%S4*;U84
M@.^NOPDJO"7:8V1YT)K),H1:(NMQW38&W9S]?-^WWZ_/D=AP#VIYM+9WU'!3
MI"1KFEX_I)8S?\+1:ZUPM(9 7^D]V'X*Q6P[YOEV0.+G7PPYTU8JDQ09;GHT
MWZQHH$'/GH> 9$/&_]_/K&?M*;6;0<QUZY(+8U NZ/U&Y-ZS;9L\MA0+5-?Q
M"]@^^+^7&^^ZA;9)1[@F/QF+?9L.S[Q+EV;Y,LR?)B](9P7]":1<_?(ID/X1
MMX.]K]V Y\SW3?NC&,11,X!S8H ?F '^(OVL)R;X@9G@^1-B@CUJ0-)N\.SG
M@[;^JU=OWKQ]NQ.=Z-FO!%B[-WHK"VB+B>QQ ^QJ5!N2^B][(_- $UPYQ^C
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
M>BS3V)3%T.C"+:/^'"AH+I3M*EJ3<%'A!L)/\18(!-MJ$AK99/=R[IX.';M
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
M//O*[8:HW!:5VYNR<>+%L'ML0'W($C;B6\(0TJ+*ILE4'EFDNVD;E:!M["W
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
MBKP05JF ZO1;55B<WPV>>Y%V<28P!R,DFW!LG^>#9M\SKIF[ #TE%_3:)CN
M.=;>VZ8[<Q(M\F6>*P63VH>[G9[+HE6B/!(V7- 5YX/+CB)O+/RW6?B?TY!+
M+-C3_(K$>\(2[HHASXOK"D=3S8QC8]WM$B&P1<#Z[GHXW$B1GJ;NA>)Y;X?Z
M*/>:71''MS*1DUFE3'N3#ZHMF:]0?Q$XP?)&02&NJ %V[Z"8=9B-UR;XT_?J
MZNEOR/B\@_+#5Z%YKL_U>(*D!M\I1T]D@)Z,M_&&<K^=-6:LTVZ=WU54W',X
M*MGL#&(PL'5MUP9PBN?9A>-L@A&$#WD?4,'U*A.[CUEX(+O)P9W,NE5,J<S>
M*C2=#Z\*IY\-FJ8)OV$/8&%(M.XWL\'& -?H_.K']FZKO=_J_>@Y@59WI<J%
M^O E :MLNY>#]Q:X9P1NF' 68\N [8/EMPPN\R;X+8J/Y^OVE>9XO:5XOSV(
MF[^N%ON+KQS%_D[ISTO#NW3AK%]8S_RW$)[HWI9W7O!%(OS?OD@L_"A'_:;[
MJ.,'Q:>KOP%02P,$%     @ ]8D'66P_##?)(@  ?"4   X   !I;6%G93 P
M,# Q+FIP9[5Y952<49/F"PTT$"2XNUL([C02+'@(;@D2/ 1W"01W"! ZP2$X
M'5Q"< D>W ETXP1IM/'-]\W.[)R9W3V[>V;K/<^ONO>>]SEUJF[=IQ[F']:
MQ\^5U90!-#0TX-7?#WA8 A0!+ Q,+$P,+"Q,+# 8"QOW,2XN#@XN*0$AWF,*
M4DI*"E)R<FHZ-@9J&A9:<G)&7D86=@XN;BXJ!KZG?)Q/V3BY./]Q"!H8#,;%
MQB7!Q27AI":GYOR_MH=.@ @;<$67!J$Q ^A$:" BM(=>@ $ T##1_FG ?S<T
M=-#?_P5CX^ ^^KN@X3& C@8"H6. ,#$Q,/YZ@_[Z 0PB3&(F 7DL$MW78&8W
M4L'W*?G8+ HU760O)HY9A:S<PW!PR2DHJ:C9V#DXN;B%143%Q"4D%9\I*:NH
MJCW7>ZEO8&AD;&)M8_O&SM[!T</3R]O'U\\__$-$9%1T3&QJVL?TC,Q/6=""
MPJ+BKR6E9>6U=?4-C4W-+:W=/;U]_0,_!X<FIZ9G9N?F%Q;7X8B-S:WMG=T]
MY,GIV?G%)>KJ^A^\T  0VK_:_Y07T5]>Z!@8( SP/WBAH?O\8P$1!B:3 !:Q
MO"[XM1L)L^![;%*%E/R:+AP6H1?'9%;N$[CDK,+K;,A_4/LGL_\S8F'_3\S^
MC=C_X+4(X('0_@8/1 1 @.NOL9QYZ/] BVLL/;,K+HK0<*: T4R)_*>@T,T
MTTO$?'(([IY3+\3Q3OO//?[DV6::TZJ%7WS+9JJ(Q*V88/!'1J&0-QW1DCDU
MI1:H (OOS>UIPV(&<R0M/I2,@N32*3]9IL"+[>]AJ0^ [6?O3/BS$\"[IV2H
M%Y%H#CZ_X]E_[JS*61WR$ED2*5Q&+:-H.;F6[M\_I]86TND!W=I&3:QQOCE)
M;*M<Z.)R$>*\5; ^*1*:X"R'&A3;5NP>_W;(U%DQT1!,[5U*+U\!2'65_@FR
MP4 ]I/Y N#2-1^6B"=MRC23[@!7IVU>";N=W3E75-(BP2)0N_&DGT0;7A@]!
M<Q[XE@<5;HNX(SM\E?1G[F*#;;3,I0]GI_-2+SS\CXKC007"=6'.Z+,Z*K^D
MBX:!^8Y^T78<PX6WY-B6H2HH33.?L2"6"X^S(!;X]^A"O9>>;0<AV?KJ:Q6E
M35Q&4@9IR&Q>DSSN3)0'?YD]]\@EAFQDHTKNNPPMK]DJ"O\E#/_EX.'O,X%=
M4$0VF+]4VJ;A,7Z"X==_4*XEA-+!^EC+*E"?)CE '5\GT F:AEZ)760@WV3#
M(20.&8LB&V*-C:('K?:F[GZ)RZ'^]&1^M!X'9F()@0%P0LH5:6C?;>3RE^*B
M9T5<9Q8/@%[:D5G#"P7GW4 2A+EUEX>%9MX@GMZ*,K,#:[2$#D&P&?(J7!,)
M3I36A /#%?L^<T1/>Y2V2.,?@$Z*1]<&F3V_(W,8D9.#HFFT1$9]'.EL,[V?
M=431N(%!#@QZL)O%TGK(PIQR_1)'= -/MH+\8"S:QL 91P;D/:DY]I5W0^6M
M$,RB9VO!'IK=:S2&JF)U2S)[;^EF3T]P?!3U"Y]!N:;A%7!*SF@C?NZ1 8FI
M9H#_[J=AP/RY^#:3UC^R);[->6"X"?SU1#+W0D6VR"T54;,=4IM]7T$1(Y+
M]J%C(6QYE%M<//+54.&.*B_V4;V_X90^PA*K_8D1"J:;IC'#RR>\\G8M"R-C
MOU&J0+;M<,!*2T[Z F9;U!\6.UXS>_9#4>=[3<TTWUM^WB677J(A*CCD@*!P
M:K_O72[5/<? &HU40 #GZ^^S;]_;PU,2YY/=?H1NQ!]C*;_S@R?39RKYCG<^
M '$^.2(S;\\2_!\9N69 9%<.ILM_%J)]#--FD4 T!DE<. (\4:B5!X"UI#?D
M_!!R)E+I&O>;_,\MGG*N-:ZE4^+GVZ_BB9@RCQ!?<H8DCE+Z Q,? (3M0(PT
M#AR?HK?Q5_'F"*/)J.,''KK]]%=J U02%P,654RTAET?[%#%ZS54B\&S-!(#
M '&(G-,A-RIJ+>81TK3G0S)D$GO[KA_6Q)K"G%"4GLXB9YR5"(#*V".QO<A,
M-:=YS]7%#\^62I\<V(P-YB5+BA(08".J-(5KNAZ-2L?0ZI;9^;B4YWFQYH0E
M#TR86?;RZ6BN)34Y^(=7YPKE0R_Z-=)#MWFK6SK'T%[_(G872!D-)&II"XB;
MI]%Q&O:*ITIYB]^KH_9AGMPL61U],W3W?4IN5JC,FW^7 @0><)7;M [2!V">
M>_\!>-;@Z346J/H I/K <V\PS4-V,JH30W$Y"_YKP9.)2BJUV&VG,?8<W [;
M4E\R#3I63E5K5)N@9&[F-HIDM/&JH">Y";EPZ5E=<<PD<66"U*]%<IBA_7J6
MY[)=MET%>)+AGU>*S1J29ZK2XR#LB_0FTB.Q;Q/<9(FG12)F71B16/FEQ:,C
MA)^E*C@#,U+>J879=WS 6S>K(QK'H/Y>8;R/#U\2K[K5+#5=-&>MH_%L:K35
MC)3FY"-RIAN08+WY!<YPL*QS*;!47:SND&Y\G?CS8!U[PWN86&6#I^>>9><B
MAP'97U/L4'G@X 3)I/)>GN\4YYA/Y3GB1AG"I\O$>L=)A.T8+8>B$O?F(:4B
M:C&YSX-'&N$,$1DG:$FR>PZ$E.-,(0S?+:HL7(YEUB?:<7?%#"=Y=93P+O74
M4A5*LEAL[BBN#)76.NA\0_J=(!>8E[FLE*=6OHMB.OZTCP5E^M@%+:,M6).Z
M+0BF&[( NS!IA2C4QMO'08+*0766C+<BQU5SO=JT<4YEM@)2(C-W/V^Z/#(D
M[D\%0,AQQPO7Q<4+WUM(GC%STT))2ZHQI>=R+'KX^>K <45N;48Z!CW>M-=3
MHNIJ&)Y&3VII[-.2J0QK5"QYM^R[&8P<&F0Z?+>VWGVWZ?";VI=T@9_>N;\,
M5Z 6970/0!2?B.U NIM]IN(7/$&L^X;CI'AUL;B&[FU>UQ+6ZUR!BC^:[/M_
M(.A_#J_N!B(G+3_:W#;F(7.+1;&O()W!O,V_9!F-]D\U;I</VU[GKBIO7V:!
M8!BYI62+._X>M\9(P[A ]:JKBA*C135>MXJ4;W]>XX)VT#/$]U1:8 RPLEN*
MO"2"^]'6WLKP \F,+ \_KG/B9PHAB,_:TU#*E#7((R^Q25EFE/<)2T)33?_
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
M*T!*8S6$=)( K(5-%#6* JO(-UM"EA^R/N:0A"F1%*+*BM^J4C1D*/+\1C0
M_S?9<-,%7AH?SG?C WJWTM&?2GYDXL<BSZ(W[LU4P0X=$C#FMET'DC(%!?I"
MNE#F.R2%,;G,I!*@D7U 6#I%[A@MW>I!?L4Q\CV7G,C-B386TWO;?4T;[I/E
M4U&^V!5E91]I!R68N<$<2M?\-G5M"];PG>\>%$$944U03(7W<E=XHX[^C7Q7
M)=#K0+>PH(!*/Q*J&FJA1L>4#>F$T3',@5 ZFZ;K0;'+)GW(MPD%O(_W'OJI
ML%^%A3<5INT*CQ/XT6H.NT/4NT?]06?8,4;-4;=GH*9QA]J=P:C9-="P^V!T
M[[OMIC%"S7:[]\48=8T'U.\]=MO=SK#$?QU_PY4$ZK(Y?K8) /?HLHDDZFW7
ML_0!3A/8@F CCJ#1&W6&J-_\VFP]=C1RCSWCH3KJ#)[07:<U*@%:!\@O-T;X
MS8=C^7-+\B_BR>\:[=Y3!XV:OY=I7D^SGBW4ZPA=9L+D$GE]L*%M"P"7<0"&
MHU[[OU48Q3HP8O6>^AUCJ(>P$HYU.#J8,Y@K1)_PX1068SX0L;M;(/@0AZ#3
M'!@P(\ 8U!F@X:_-0:=,?KSX<QPJ=2&EEUUZVB9L.>FG"6R!Y"H."3P)3]W1
M$\SG0W\N[^E)NV.4,W;B2*68/R SCYM3&)/ZW)UP[  .:PT!5MG%MR#W<\)X
MIIX?-.CTOPS:O\*HIC[(/0R:3QK&]<82R@,6WX<JPA.+\?67<7N7W5M>U/U<
M2*V/WH7!E2_P#LB\D5H([,V[P,HQ6?>Q(-;YH96<RUAB1_F4*I'&E4V%]58*
MY"C22V0S5^M13#>TI:$9K]&WXIBITB\1+& ^2-"\(Z!E[SU'I%@^YKQQ7<B\
M\1[I<-6+ZVC Z%T0<LG9 W)V0%X(\V#Q8[H3O\N@J/!4<N) ],WFY-A,;A3
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
MG:MQ6R??!4,5M6;MP"E?\!]\ ?&7_P-02P,$%     @ ]8D'64SE1B6.'@
MTOX! !4   !T;&9A+3(P,C0P-C,P7V1E9BYX;6SM75MOW#B6?E]@_X/7^^PX
M3KI[IH/.#,JWP O'-NQ*>N>I(4NL*DZK1"\EV:[^]4NJI"I=>->%E"-@T!.7
MR'/]>#\\_.V?K^OPX!G@&*+H\^')N_>'!R#R40"CY>?#-#[R8A_"PW_^XS__
MX[?_.CKZ B* O00$!X^;@U.,O ##8 D.[NYO%S $!Q]^>O?+NP_O?O[PTT^E
MST='M'H(HS\_T?\\>C$X(&RC^--K##\?KI+DZ=/Q\<O+R[N7C^\07AY_>/_^
MY/A_OUX_^"NP]HY@%"=>Y(/# U+^4YS]>(U\+\ED+E5_?<1A0>#C\8X7MP3]
MZZ@H=D1_.CKY</3QY-UK'!SF(M+/"DR*XJ^-\KE.)[_^^NMQ]G57E!"" M(E
MM;/RR<FN<+G@S]E?07)(C'QPL#4S1B&X!XL#^O_?[J]V]19>_)C5(YY=>M[3
M,2UP#$"P/KYX34 4P\<07$3IFGJ96/<:QDE,^&=$D\T3^'P8P_53"(K?5A@L
MMM3C0JP&CP_O/_QT#,(DIK]0AO$1_8D:^;\IZ\.#8P71B2F"30B\9 7P.Q^M
MMZ(_K#Q,BC^EV%\1+]QAM,3>>A8%M0_Q.4@\&"KHDH0++Y/O_2\?WV<RZO,P
MU^?"PQ%I>O$=P!GU%F)S2;6P=H+\#.W!&5H_$;AD(+E!T3.(2:?P / S]$%6
MX)[\@J%/?Z65OD4PF;UX.&CEB"[9=VV%AW2]]O#F=C'S$_@,D\TEPCO1AK-&
M2S&ZMLJ']R<?24LA@G^L,;\+O:A[]57YF>MY14;'-9A[KRUD;](PE^<&)2"^
M\S8>Z;F)YM<H6B8 K\_!8])"0A6JYC*?>C&,;Q=W&,0@2C+'$29G !/*T0-<
M1G !?2]*9KZ/TB@AO=@="J$/07Q+"5V1.M&2#E6S. 9)&Q3U)8D-V^2_Q/?
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
M]];K>%Q6E\+VU64])6[(4F'^ L)G\!5%R4IC8JQ!S C036)O$LL2F_4/XZ8
MMB_0Z<E/6]W\!;4";HV&$5YW--XD3-D6ZA^=.[XMWV*R 4K"N;X,:DG%')A;
M*F\7F@PK#03.+6?;#TOI"WZ)TG9SV#H18W!NB;Q9;#)L- PTMXQMOVZU/V07
M:""^U:%:L7&O0UYQT)L=NE@SMH )OG28E=^Q<OZ&AT"=T\U7[]\(GX5>'#/B
M8@QJRCO!9DU'8FN4,2;N!2668<??R'A+.L F3]M;YP)A]Z+>>&MV=+]A;3GX
MV+7MQ0:9X$@,/P7[*/:.=0$D&&0S_J%PV @A<A6)K/BH8: HC++J%XPNW%(A
M<H(P!'Z2>F$1<\F,&I(7W+V S2_HWI)"V#LA#;458</BMWT#F\_'6FCEJ".3
M=69/>K')*G.C*3IYBDZ>HI.=B4Z>PF'5GQ@<-ASV!B6@E +L&D7+!.#U.7A,
M+(8L4O;[H-7&7M#N-6YAJ=T;W)Q2=AX<+PL3<X(/):68BL76PPME[D"JBE72
MGK*);I\-YQ"SO<:D4MXNMO'*EYY/<^EM\F9_BC!&+S!:GGE/Y$NRJ7G>I&IN
M-;VJ[F*DA0D4@:/'P?82D2Q'? ""^)(8D$H>%Z+7H",MM\]ZP2OG+BA4E5-$
M@("<[4B\JM2L<R!!">;(8.-D1WLLD)W:*(\#U1.9GT9Q(L/JD!B+?UDQP4#@
MP-: R-^<;E^6$KU)D=>]NW$(PI+LFL[8,7.W6;6XP._5XO9V%:3>Y2! H&X9
M"3SR/#A4R;XQ6#2V!IP!!FNCHPMD"#=#VF"C@PT3SI.L_W/WE1C+B\Y67@Q.
MO>C/FQES>T1:+M=84,[2K$ZY.2-U+65^+=.G_A70M;WQ<A61?X*Y]SK 7=:'
M!/E_/A(3!&=H3<.ALLBH#^]//LZB@&#SXST@HRBDMVRSHC3KA\T;JP\K#Q-W
MU>2=84RWTK89Z?9%[KP-_6GVXN&@,=$L0J<Z(UB$5'5 T$KPF:G<LR#(X.B%
M7T $L!?2Q/ID4DVS>G%VL0;AU=8?:KQLO6W='6S1L/ZHG-RUUB(+Q^M7>MMS
M0*+4&D59[WOF/<'$"S-M8M(S _P,@DN$+U.:0^\JCE/ZJD>ML1G7W[VLIUW_
M332*MG;K'N@&$MG>HC1OF_0_W\GD@Z;/ !BBX*2S081/NO68P2+])EI#C]9V
M:41@"6M[W]=8&YJ:+]F4#L*R_#/SE1?=/E$2\1="(HFOHJVJ7;4O0[9MVYXV
MVQ^[7;;SDD-M5EL1V]?.]_%J4IUCGM+B6T =T6U<$FI-=]"3IHX;6D_6[:$E
M=2=I^7Z[\V=E=&^*QNZR'J)A?"H.O2N?' F1[0IB2*@Z.XBV)>_L$+W"T_8"
MNI"&_3H(\V,-&_9/R9A>1!+Q*RFY2P3*+G+EI$O#2<W76NRXB?DPBY*?Q(^M
M"#W5W[G3_ 7-5RB-O2B81<%\!7$"0,38_V>>1AG6SO77KFTKCSZ[N:&V^K/\
MOS^KTJ;=LC&K >2%=/N;+*>#(48T"+!AHD3 =:3H6T$++$KD;>\2;F</&^8;
M@LQO18[!ZK>W-WD3*=_;[*W&U#8XS#7:*Q(%POE%GRQ4M[6,6-B;D+*1J;(A
MU=Z69>17Y%#:1S+B;WMZ/-)&T)CHCKH9L";\@[8#X;IAD);@PLWXVD3F&S%
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
MT:R_$.+E]RD)HQV)2..,:]D, Y";F^@,%@6(6^%IT[(WFS#D!\?B^.23(_W
MY61=$M%>!OW^GMZDKT=HW[T4:@KR5;XZ?8.VO05H+-(>?=OF M16\5_$[H**
M-*:_$M<*?<^'O:S807HK&SSTQ&6+T\LXV9QF1_$N*>.4[WRHI>J^A$S*-3:I
MO3M'&:EY9;R0:$7DXZLD ^OJB\"DU50<,G[+')O$PAUR&*)A&IC7$R[O4'Z,
M]C?E[3[M3QE(YL2&Z-:4L--U)<J0DCK3Q]*IDE16MJ*E?!HM,.T&008YUB1'
M41L3'>(Z878:.K=:U8O;TZS$@$IPH9:XZLN"YZ^1<$U8C; K0XW*XDQ)G1<E
M!]7*4?LY@(\[F(6GFUD-(]MZX BEU.DPR Y$DU#F"A9EGJQQ5_6Z1.O?/]!U
M! ZE2AGV,B0RCKQ0>G:E@\RXB@5BG>CP-:#?@T_5D_\O+ '4%8<,WW,7[D+1
M-LK-D# )N*]+/ 8C(ZF+VW=)AMNN!/<Z44'[G\L;7,QXS??J;%38BS%3<62"
M3;E<B6'H2\43(Q/1$<HVI)W8 /Q7@=)D0R=&WL8I[;U=WT,203_5"H'99 4-
M-*SJNEPST6Q3;Q 2)V'B29QG27977,+\^C[.X=NX2-8<U)4R[,5(9!S)I?3L
MRB:9<15]Q#H1_0=\FV1@@](TS@NPP[&W(!+?A>6&NNZ0X:ONHE\HVH;[A&"P
MFKM^@/D-4B\=29U8H^)U#0O(GAXP\0*1(IG%'0:50'.K1W%QO\PVY!\RU?L0
MISAB%\OR*,[S)US(O\;IG@>GE0Y[-X8ZCG2Q*ID)>TK=LJNI1Q65S&Q$Y#E=
M;%F3/^!!,BR'[-" !E96EV)&JFW*S0A^7E<?K3PZ8Y"M&S9 I'^TQ!=D1V"M
M :C*2\:F8B5O'( &7(,3E^\2#Y/63ROX6+[%;G\W:B<D.LIVHJ<S"E$E)1N'
MHWUG]O3D;3RO)D(&!"T-U0A2,I!3U3-0A[Q)R'>:K7,8%_ 85O^>9OVU#@[I
M-BKLQ9FI.#+/IEP6V^-4731#ERKZ&9F0[ZD/RSXK**!A5=7EGHEFFWJS09[7
MOIF-0U?PL9Y9+0J^K86_ WC8W0#SH/!R(:GHE8V!RX!]LG[Q3K,'W&BA/('\
M K.1K+0AZ,AZYZ&@)*.%_JXO.]JU=:/ZP]/<F"2J5R6%Y$"0TJ:EHN;+9, 9
M.7(+/ W&CCI6MP1?$K*LHO(0>,TJ#E_F<!<GFY-JYXDV%(O%I=&8%_?.*W%Y
M1HO)/7=VU.+4(_9Y)OM^C&M;R20E0J0\ZFJIJ30QJ$:.UV)G+KA21^T:<TSX
MY4'.*GX/Q]VLHOC%CB3N2;([MBU<LDO'7E$:V>6*WNFH*Z-_3BH\VA%3:B@Z
MNL=6<*<!,Q+50B"N]CZ2:=$TB6^2-"EQ?^%/<^.H%C1*MAI"3DI9F;Z:O,9X
M#3Q->AD_6<V1<O+:"=)&?K0Y*JY$7M:N3;P-FYBJ]0]3HKOJFWG/A_+5;C3S
M),:*=L:)J9E--TV&KXDF0#EO3B SG/IDTB\1>H-F/(?@;U:],URV?(^'FH<F
MW22\2U14$;ZG,@8))>4:+\[W'5JSD#<1L>^:D3?M<U599UH]KQE24(8*'0O5
M:%)QD-/4TC $",=O#"0.79&H;1(H2L^^!$C:M@V.N RY0PEMMTFYI=NFLLT1
MRLBX!&9K7*KCI%BGJ-CG4+I5:9!RO6?)4MEU\]*@LOK9[6KK6KFGR<Y8='3Q
MX</IZL/)^>H:+,^/P='%^>KT_/W)^='IR77@#4[#X(-<*Y7;\F1EH[/W:<X(
M]KMA=I!K?S"NM] >E*J=M&TU<- #GX@FH*J!3YQ-C7'5[MJ)@!ZX-4,9/;1*
MSX@4RWUYC_+DGX=TOJVF2R/9:J>DDAXHK2F%#^K*7>@H*M.,JH>@($\7U:DD
MS,E&@)Y;JKX-?%C)I**158WT6251X"EDBJ(P5#DMBKV>)ETI&45J*=_TZ'KW
M3HW&O!4MF):8$@E].&,Z<!6JHH*P[F4TJ(25%)"@) S\+_8EN02#7$>BXX!
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
MTRN-KU<71__YEXNSXY.KZW\!)__U\73UVVPN]U:C0'S%MPER&*MT6I+KOL.
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
M:!>ZNLZ0X2ON4DXHVN:)&0@FP?6A'._P^ZCVE^R3[([-Q*&L> MQ#&<[N^@
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
M;)AIS<K3K<@X;%:K%//:.3,B;X3Q='2>]H*N?X_BR#Q!6)@X?+]+<-G@6?)
MKC<M,;D27+JJ:TH+*@W&IHJ]T*I7]!8H3<OH+^P9>#0+8EI#G0-@E?0K*@X.
M\FS@Q@Z#S>8$F#%TA-'%$GB]6*'3%S/?&K73)<#H)0=J)7AZ^W008?MR:-MT
M\H\]#D6G&0Y3>[I9APY.5_=Q=K&C.<2;+85_@\G=/=E:^ #S^ Z^QZ;+X[B$
M[^(DIY<>7:$T?8=R8I4/%O,L73OYQYQ*YR,CP9Q^C\<])O/[;=I$##,J;51+
M R9>)4P E[B+ F>S[#^WMR9JA&9:Q'XRC/D4LI>*8SY%>VDAUW\RR_G]MF<4
M=P4I.#LI(%L% S=/XCM+B9T%J,H'6@5D:S0E+B)@9:17_]0'>7H1GY84D*("
M4E90W8WY-?8_U]BORT<ZGY+.N $(G:E\E#>!?]LM3,H];KNT[V*R =N00HT^
M3K,KU&S["D/>[<Q'998_*4RGP*J0$9-F>><W. C%>0%VN!&GR1CGD(LQ_%N:
MM-UUB$FCM[0V99NF@?T"@^4S&4\-^4GSCYB3CYY:A3,=/WV-V7..V4&&2,\[
M<(=-9;C+X3W^Y<D#N[N6'KUZJOXKVQUDJW9(8&BHYIZ[T*I\'M(6FOK39"PT
M,Q-U)%E>L>")">T@@8975R\=H9$VEXEP&!(GNNR%)HV_OH>P/",>2%!Z3/A3
M)3JQYI(6F9CS!2QJ_^Z7JTCMJR].D:@UR?CI(U _ Y_(T\!SL=JZ1.;OG;^H
M1"S=O83$$"*3P/\2%^8\WD(!Y$6/V,_M/G*$MLB/*YPYFRH(=T0C\@F0C[-
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
M).,5_8OLD)AI4Q"(E2@TUKD%A4G+T%FA^!J8Y,7UNT(7I.CSB4[U&B(VLZ"
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
M[01N3@?@"#G5<)=\YC8:2MJZG0[$?AIO>Y^>X(L;>J8 6AH+T.B 3Y46(&J
MZ@5N"B9#KZ2[,#I\';L6]N_'O<-AY=,#=*NH2Y]\ 6 ,@$.?_1VZS?8*[O9D
M.K6 ESFZR^.MY/IT,^'ZQ(-&V(5&:MO^0K^9'REG3-0C*@0.4H")S>;B=L-:
M1_9UPQVI4"HV/#&R/QZX_,5EK9^!N,*0(MOF19 BDT;\P^)E FU$C'E=7*J&
M) 4.^S!YB&]2N,PV]8K6$=WR?H8*7$N2D#Q8OUZ0LM=W6F.P=>=Q]6&H:_FZ
MQ#"+4:T'#HH :QXV,%2ZH%*>#3V'0PUYJ7UN"<36UF%Q9& I)L6]OV9FB&M_
MD!>C/?Z*=GUHGA[H7@<6I)O1;T*S#?>@D$VH#C=0#T &&'#J-UK[\S[1.K@(
M\J[F,(OTS!_95HJ[FIO#'"R9;B5+F07M@^:'#NJNU4'E'X:>D74 (O("#:X+
M:VWKT*T=6(SI6>%I^#[8MV<^O+8?D\UF2C<8_&73!%/CWW4Z8?#[\S#%,,2W
M1^QCV/]E>74"KDXN/UX=_65Y?0(NKR[>7RT_@.7Y,> ?7G^!2)\!R+UV^TB5
M'FJ4U3:N;.[!M6R*>:A^W>FSUW<BMZT[CXW;4-=R?@^S:,GQV8SPAD,->:E]
MCO&VM@Z$'U@*?Z2O<@U>W!ZE,1E.XC_8<?1F!8OCCKD">TDF"BX\UMOW/E8S
M=BGEJZ&%B*6()-E5*DGZ9YTQ8"X;7RPP@0;56I=O>MV&8*9NQ@>@GY;#W)<C
M]%ZWL7=TP%XM#&:R46 TZ$EBO7?L.0Y1S'^_^Y#$R)<#[HS#W0N$W 1H\]EM
M:(Q*Q@+2Y^SW"9Z[L*!GSE_$E9J6 EVB<=A:-9MNM+R6D-&+[8*U)]M@4V;%
M:Y7[BW,BT^:U_4(JVKF.?8:;=W&2_S5.]_#B]EV2Q=DZB=/3#/NA_719$++4
M8K_46,L%O89._(4Q2X=2N%O9B8@TH.*D(6\40$MC-ARQ10MRJ,HNJ0PM-%2S
M\S@!3/V%7G.'K@C]"DYML!\)ESX;AOIRVF-8K/.$YM:2- 8&DNS7*R5=V*0P
M["_0&SB14D>K&S7W!+=$9D,2DRI&EG71981"JV&!WO)(&/(7A=5.AL '=XI;
M@,'AM@'2"P//*+CQ&3%7G]'J'NV+.-LLL\WJ,X[,3RNL :\@=I:0_65T"_4E
MKF-A5HCA!NJ;6P88<*&,O3_O"P:#BR#EVD"+T16\Q=0GH,/0^ D<I$%!#[/L
ML'S@U00'@"$O5<Y=96-MJZ'TT&),CW8_?8_AOCWC'/=4L"*H->E&K4H74.4V
M[JM#7$1_)CD9@N%?TNF9G ".7:3A[\^]YS3(MT?P?Q/Q8?TKO.7I2B9%]HB=
M.):M?V /SE1;W'W3:WODLL[9V!TW0_^FA#8RU^FRO7X6739C1$D(;5/-2D;K
M#,GH;%: B8$]2A_-U+%/2 M[9_6-(\^HZ9H"YF9]LC%Q[K<W9OK.O'?%#!S[
MPCCIA+U^5IVPL9$<%,1>M\NB[&2[2]$3A,=)#M=83]C%TLK5FV/E<DZ[PF1F
M_6^%U7B2;P=3*D:7F-LH Y^3\AYL8)'<97$]=9RA[!5DJF##=$/O@-76-[*I
M&FX7F$SEL/E+;70T*'G:U*IS,0Q$9 LKADHM &J)F81@3Y"1[5-UPXSKKE3=
M;_.P&57APAXO$JC,)3VO!ZQXAXG?U*V=MANWZMPW)(&V.$GY$-4F?:N-JEON
M0'-/(Z1PM7:N2"5H:8OE2$NR.AUZ7-T=7)#&O+R/2_+Q/KG!6C2;:W73U0VY
M-+HDMU)6W]WB,2* _]B3JZZ29D<)S4D0@V('U\EM@KO9U25S1+Q,MM0421F;
M=B7HM9GD4BS,MPU-UE< <H1["\O6@>Z6E^JRK:0@"@\P+Q.2!@73HYI](46H
MRO: BXK%#Q=XK>/B?@'B6QS(-,7\?(]'OJ:E#)[E=@#AD",1^!2-YE9:21IM
M74_)>%_Y;NV]>N,ZS7G+#7D)H7I?4KV9M*R3HEF:^78".#MGO[5_3S[RWUIY
M]0)E&8JO/WYID V$5I\=R[KK>@WSAV0-:=O^-B[@Y@AM=S K:*<)=W'_BDL#
M-\O/<;XIVH^.4%&>H_(W6++DOO^$F^,]/,WH6M]O,,[Y\]$3>F3U,HE'E]@Q
M00&]=YJG*[,T:$U5A.ACEC<"N+]9T,[K'O=U"[K(2/R^NB&.\<.#>1!3C^1F
M>OBX)ELY6W?*@\V>]*%IQC!RF?P&W";%.DZKA[<H3='G^G*DE%R*5+8% O=P
MIZ0P"L.1;DB?P'G3$DSV0Y]!Q/+3Z9^PL*%C%1YB-'-TS%4U7F?QJ6V2S&V]
M8C&L<MA]3%QBF1)@I^#@%6"WX#1C^P2IYZ_1:&S\O_APY#CZFA #[H.V:0H;
M,A3179;_^C4LC#^V>9D1(<0(]\&BN%=P&R?9AJ03>4=[Y:34 \>YWOQ:CG8]
M^)TB8CL7,]C(UU?)G0.YGX(XCH+)>'>SS^LQ;5[[H:L\^(OG-[KU1US;YL,K
M)X8U),Y%L&Y.//WH9Q.SIAW[>BOR/**5[3AXP##XJAW!*N]T-/PU>$U)CB\J
M>DTT2/:&C>F&RCZ*'#YRT6'SSU\#R+0#II<?.^8^G*:C_W/X6*X^P_0!?D!9
M>3]TV=B;WQ&'TQ*_<XOMPF(^B^&TJN23AGEY0<9>5,[('3LO<$W9'[_';'>T
MU!F_[1$68=2V1_&CGTUHF^^H6UGD>02U"4;=;/&9> >5>U#Y_QJ]IF3'%Q6^
M9CCL5F)CGL-N69'#ARXZ[/[#UP R[<#JY<>.Y[%/^S.:=I<VYV_T/=J-OWGN
M+V+%>T;[L[LE#K#-J%T #ZO2VJ%T <D9PY<XF'9G[_@[GP0$F6KO$W,]P<ZG
MSH^<?:":^[9LKJAA0]246[(_HY>](3MH])E\,W:0\#/;C=A<W<]Y&_:AJ.%"
M#QW4_O(U$(P[;'EY,>!9#%K?X?@SZ:BUYW#L86O+X2S#<5.^YS-PY8L\?6SN
MEF#L%>!;[*V\_SIL%=)W] 9#2)")6HW&]_C-!O<SYQ^K9CYV[94U<)2:</1*
M_+[HX6OH*#3U #94&)KK$+97_R8AZ 'F-RC$*+9=VH!!B(YC__@U(HP]DGF)
MP<#G6/;RD'*2%E*4GNOJ^J,X!^LP958SMLHNL<_.E_>QWR#WTN TP%I$4>@Q
MN>ES2EPZ$*7(&3O=$&1GIPDG0]Q/2Q4_0X]A?CV2Y#6]?*"!,=4"DARFWQ+5
M[V:2%W)R?$LZW),!W+$C/.Q]N2_,6/OU!.X.KE\I<?T% CH@EGWVXUAO<V/?
MB1N@R=Z5E:8+8RT<>>^[V?N6TM;6E/=>FRXE?>".VA D(C>(=%EO8:2AO+7C
M"8G@IV<VP*DO"N ^6:WQC#ID$^)8TA6; ,B.G; ![\B]!V;GU >(&_P^AW[7
M1+@- MD:K>TW?(;_PE_67^'_D,6?Z/\'4$L#!!0    ( /6)!UF:"B);HS<
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
M-$7P.=J7#.!:GP/*<H$6J.-^(!9-QQE:F"J/<#D+V)!@"M,LB/]?M.5.*$6
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
M0O.JQ;:GB^=C!A;FWF;G"61S<?G! ;_VDRYA478([6^!1.D?%[LY)L>8J2M
M'JI4"""=$)*PPYR[*T#RA*Q#VA#RZ) MUIBCDC)\*; "O,4'_>1F@_HB-T.#
M@ B)# K(_0VZ*IT?ZG0?B6J/Z/>E7 1H_56JZDBF'GGUQC(A7AN/CPPQFEV
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
M]DKJJT\;DNW:W[7)GF/!0";T)4YH2SG,QI8/GM=>YW4::O07,#WYU%V]E,;
M_)_S/* 7;^'E& 9,$/7!:\\/ HQ94J2?F^)P"$=B%BSIQ&^SA&]G/D^L.,)C
MOMD$:/>PG)#J$'BXQ$OB>Y@\X]DU\ZI H8ISS81SS81SS83S!<+S!<*^3X%3
M$1?38MWN4;DEJ-24?6E0TM3=U4V_5[MT-&CEII>$0<\O\IUO?WFSH#C]VU\.
MG%(ZGQ_P^?R -!=Y7'3!.,:+,-)HM(R]B/C@>7LV\1.U[GTNO \S$MWQ;%K1
M=7?2.$RG&71W1FS5GE+I1O(/NU_3DMM\=-X66SZ/68"R\];O>>OW'&WL[@4[
M&&PXF\.^7M'M6SW8!DL09>0EQ)%C#)?RX&&&0?D<:4:T[.D&&X;D!H=1?MK'
MFP2LR(;32<YK?BWL,GK,89,=/.#09,_19BR;GFZHH<5^6S>D?,G4_/[YG*LY
MB2@CL^OI!AI>ML;@Q-P^6W.=L.<T/GAH>R-D'*_C)_2=.G%K*- ;O*REKJG?
M0+1:XS\GSP %*U#D,Z[PPN FB-"O09P#JSM-)MR--Q3J<?=6'<A!KW'057P<
MK@;NQ^.,?;K.,OI43$=W(PVO"CH[;[JI;1FX$SX-^1IYV^X<2!T+I-W<Y@U'
M4VW%G?<66;LAY+JE.T'4A*FQ=B05F3J'3PN[F28.\X9CIY[6S&_LGVX"J+G!
MXTX ->1KY$W6<QAU+(QV<YLW'$FU%7?>"3Z=/*B-_>-SZ'0L='9PES<<-PUR
MH><M;9><^>3VO/4D]OP]^'-QJAYX];<H_[DX50<^3ZPXU2$ E@]8%P#GHE3G
MHE2:'?=<E.I<E(K2][DHU1#VD#Q%WU"L$BR[0!4-VU_]K7*@65QP1AI"E5U^
MRZ!E97Z=EO8>2U(R%^RB".J!)1'!8MZD0\C:26&.HTT!6D*T(6].Z/N:6>-2
MR[J-W?>X3NK0=#I=6KXOQH<<_=HE]X2#@)4:>S1'YZ)ZQM.<<U$]^WFP<U&]
M<U$](4*'-*OUJI[6LWA6LQN3N,"+QQ<F<]>OY*]TZD*O4;5 5VSDVNR"D<LU
MDE]IPE!+Q*H2<6TM<;W9QG '0+D@8G-_R*7NDZ7U3R0)> ^S?X%L!D*X2J*_
MR+R6C)]8SH?E392&0?PO$-#+D-'IEG8=D:X'7<.6%71[UXA\6GL+;L0.>I6#
MV^0>O&;S%Q _@Z\PR=;T#&-TN@-V4 [=-]I!5:S@0@?E\&GMV';'#OJKKNCS
M%TA"DFG'[$Q/LT-VH'="';$OK0_5 3OP9W[$U[>.A\F"<;M>B^+@G:]&\4UW
M/Y[FW>F -0[-CXQZU@5O8(Y&[8$M@D-WP!K!M]S_>'IWIOO5&"Q[W]_[?>)W
MG,RAR01]#K,@EBFIAV6C%IT.RT1%.B?4';MJ>8QEH")?9>?[T6#H(P1LWM8E
M>\&W:9J3B(*B9+6_5%<H)Z6?92,J^8)@VMKPZ82DVM(P1.)!C^A%/[KN;DJT
M].5_\_0@P"BW?JP_]=[#6^UN6.M\)Z8[K^<[,><[,3[=B;D.4(+'HQ0/2(6
M%N^WT*QPSF;(P*IY/Q?,QM3N'F2W"58ZN,/C^N09JYCXS1QB=]O I!CWUS#&
M/I1B#XM"CN@=L92:,<9B]YI.RU.C.,?]_&*WY_LR#M)4?"%'&T/KZHT&AO,E
MF_,EF].Y9*-RN4;E4HWU\_XCGS5WYXQY][/EMB>HYV/EWIBJRYAK>(!<F9#3
M1\53E-6B,_[7,3+C?_P^)SIX6-XFB^@Y6N1!S!CHA3"E$CDPUL3X+<K6Q;H-
M&S5=1]LYO$XPJSOF.&[8FB>ZK/582KF*$ @Q*N90R_YXN'[?_&BMVYM:!DH$
M;/9Y32JDO]/8W>GP1E/D:@ YCB_5?@K[UK!VP]9T5M[01Z<S5DQGA]2A[/GM
M3O%X!+O&<XDIJAF:-I$W._E2F3_T,@GC$/*R3#U'\-8F!B>'R0/GY#+;X/9S
MFBH92Y5\I#MI6I$H(A$L=GVQNJ%8B&:G9J(BW99"81XG16>=1M29<E^DU:>T
M\RS#WM)H']O)%@,A545R_RIGN<&6/N192K:AL$(X\<*T>:E[_>8NZZC8?C%4
M4*.MIG;*MM9ZI+$3P&[Z:?9<72Y(3]:D[N_+HCA>H6*Q4IS((]N&A8B3+$/1
M4Y[M-Q1%BQQZ=.T/86G,/A!ZV0-ZUV3W;M$'2]:NVPX5[LN90$MQ:@%?UEH<
M\OFMO73Y;CH:+.SSZ7>XFFKYC#(]GV7-480PG"6MSW,.%7F[.QF'BOEE2P?N
MFK 71VK)$K4<R8FX%%OF_IWJ0,?\ J&'R_J.JT[]%;\^0<\W 3KFI#7SI;VD
MI^4TS4=QVUL$70^2PCZ.58KRC<HL-<]Q:[#B[_Z.] !T*U%I>E)8'-BX26$=
M>GVF0"R\*$'T, /;'(5KO'*=(KA"P6:2+*@/'9Z-X-40_^=D=CV[GGZ;7?YS
M\G@]G3U\F4V^3NZOJ ^/O J'INVKHP'Z[6W,,(L>_["<(Q"D.=H5CL@Z)"Z%
M*\46P(UU3FA&DB*,<U^MWZL3N,??1V61?62X_:7.9H=:^T:,?@U>HTV^8;+*
M_%8R2WVS5[V<H4XH9ITJ17Y$0,(XU=#?,;+=&:#(^1A*J0Z.-!KYJQ!Y@(/\
M$-)4#Q?505VNG:K524D4[^6Q1&PM-JKTA'J+*E6ATJ+'YT8(YO8DA3,O4 *N
MEPD0 (\5QCE\Y-D:(E(48K*!>9)]4A.5UTHL<[N5O;6VF@FAJ0:HU;60VJ'X
M@0H5?[=#V2+N"\>2-,Y!UB.,CD_J(!*ZJ1HB;SW70$_].+,:87]K ^B,<?RX
MHI1DD%,2Q)13*<6A-%O3GWAHS..4D/OKT.;I#ZB>+*!BBRY)8@8!J<%+3I1?
MR']("8U___]02P$"% ,4    " #UB0=9C74ID/HJ 0#@; X $@
M    @ $     968R,# S,# X,U\Q,'$N:'1M4$L! A0#%     @ ]8D'633O
M.A?N!P  >BT  !4              ( !*BL! &5F,C P,S P.#-?97@S,2TQ
M+FAT;5!+ 0(4 Q0    ( /6)!UD]$*H7C00  ,,2   5              "
M 4LS 0!E9C(P,#,P,#@S7V5X,S(M,2YH=&U02P$"% ,4    " #UB0=9;#\,
M-\DB  !\)0  #@              @ $+. $ :6UA9V4P,# P,2YJ<&=02P$"
M% ,4    " #UB0=9XT2LLN<*  ##;0  $0              @ $ 6P$ =&QF
M82TR,#(T,#8S,"YX<V102P$"% ,4    " #UB0=90W<\#78.   'PP  %0
M            @ $69@$ =&QF82TR,#(T,#8S,%]C86PN>&UL4$L! A0#%
M  @ ]8D'64SE1B6.'@  TOX! !4              ( !OW0! '1L9F$M,C R
M-# V,S!?9&5F+GAM;%!+ 0(4 Q0    ( /6)!UE$V*4O[F@  )WV!0 5
M          "  8"3 0!T;&9A+3(P,C0P-C,P7VQA8BYX;6Q02P$"% ,4
M" #UB0=9F@HB6Z,W  #LR , %0              @ &A_ $ =&QF82TR,#(T
B,#8S,%]P<F4N>&UL4$L%!@     )  D 30(  '<T @    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>ef20030083_10q_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2024"
  xmlns:dei="http://xbrl.sec.gov/dei/2024"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2024"
  xmlns:tlfa="http://tandyleather.com/20240630"
  xmlns:us-gaap="http://fasb.org/us-gaap/2024"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="tlfa-20240630.xsd" xlink:type="simple"/>
    <context id="c20240101to20240630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20240807">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <instant>2024-08-07</instant>
        </period>
    </context>
    <context id="c20240630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c20231231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20230401to20230630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20230101to20230630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20240401to20240630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20230630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c20221231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</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="c20240101to20240331_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20230401to20230630_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20240401to20240630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20230401to20230630_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20240401to20240630_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20240401to20240630_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20240401to20240630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20230401to20230630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20230401to20230630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20230401to20230630_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20240401to20240630_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20230101to20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="c20240630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c20240630_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c20230331_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="c20240630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c20230630_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c20230331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="c20230630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c20230331_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="c20230331_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="c20240331_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c20240331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c20230630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c20230630_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="c20240331_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c20240331_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c20230630_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c20240630_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c20240630_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c20240630_StatementGeographicalAxis_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c20240630_StatementGeographicalAxis_ES">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c20240630_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c20231231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccountsPayableAndAccruedLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20240630_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccountsPayableAndAccruedLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c20221231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccountsPayableAndAccruedLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20240401to20240630_StatementGeographicalAxis_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20230401to20230630_StatementGeographicalAxis_OtherCountriesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tlfa:OtherCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20230401to20230630_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20230101to20230630_StatementGeographicalAxis_OtherCountriesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tlfa:OtherCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20240101to20240630_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20240401to20240630_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20240101to20240630_StatementGeographicalAxis_OtherCountriesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tlfa:OtherCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20230101to20230630_StatementGeographicalAxis_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20240101to20240630_StatementGeographicalAxis_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20240401to20240630_StatementGeographicalAxis_OtherCountriesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tlfa:OtherCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20230101to20230630_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20230401to20230630_StatementGeographicalAxis_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20240401to20240630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_RangeAxis_MaximumMember_StatementGeographicalAxis_AllOtherCountriesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tlfa:AllOtherCountriesMember</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>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20230401to20230630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_RangeAxis_MaximumMember_StatementGeographicalAxis_AllOtherCountriesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tlfa:AllOtherCountriesMember</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-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20240101to20240630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_RangeAxis_MaximumMember_StatementGeographicalAxis_AllOtherCountriesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tlfa:AllOtherCountriesMember</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>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20230101to20230630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_RangeAxis_MaximumMember_StatementGeographicalAxis_AllOtherCountriesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tlfa:AllOtherCountriesMember</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-06-30</endDate>
        </period>
    </context>
    <context id="c20240630_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember_RangeAxis_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c20240630_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c20240630_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember_RangeAxis_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c20240630_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c20240630_PropertyPlantAndEquipmentByTypeAxis_VehiclesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c20240630_PropertyPlantAndEquipmentByTypeAxis_BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c20240101to20240630_FiniteLivedIntangibleAssetsByMajorClassAxis_IntellectualPropertyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:IntellectualPropertyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20230101to20230630_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20240101to20240630_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20240630_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c20230103_LineOfCreditFacilityAxis_JPMorganChaseBankNAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">tlfa:JPMorganChaseBankNAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-03</instant>
        </period>
    </context>
    <context id="c20240101to20240630_LineOfCreditFacilityAxis_JPMorganChaseBankNAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">tlfa:JPMorganChaseBankNAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20220101to20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="c20200630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndThirteenRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="c20130131_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndThirteenRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2013-01-31</instant>
        </period>
    </context>
    <context id="c20230430_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="c20240101to20240630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20240101to20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_NonEmployeeDirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">tlfa:NonEmployeeDirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20240101to20240630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20240101to20240630_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_RangeAxis_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20240101to20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20230601to20230630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_NonEmployeeDirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">tlfa:NonEmployeeDirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20231001to20231031_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c20240601to20240630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-06-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20240301to20240331_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tlfa:TwoThousandAndTwentyThreeRestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-03-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:RestrictedStockAndRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20240101to20240630_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:RestrictedStockAndRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20240630_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:RestrictedStockAndRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c20240101to20240630_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:PerformanceBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20240101to20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20230101to20230630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20230401to20230630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20240401to20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tlfa:ServicedBasedRestrictedStockUnitsRSUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c20230101to20230630_AwardTypeAxis_RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20240101to20240630_AwardTypeAxis_RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20240401to20240630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20230101to20230630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20240101to20240630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20240401to20240630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20240101to20240630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c20230101to20230630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20230401to20230630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20230401to20230630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20220808_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000909724</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-08-08</instant>
        </period>
    </context>
    <unit id="U001">
        <measure>shares</measure>
    </unit>
    <unit id="U002">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="U003">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="U004">
        <measure>tlfa:Store</measure>
    </unit>
    <unit id="U005">
        <measure>tlfa:Segment</measure>
    </unit>
    <unit id="U006">
        <measure>pure</measure>
    </unit>
    <unit id="U007">
        <measure>tlfa:Discount</measure>
    </unit>
    <dei:AmendmentFlag
      contextRef="c20240101to20240630"
      id="Fact_a5c1d7d57cbb425e8eb0b898ec3e25bc">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate
      contextRef="c20240101to20240630"
      id="Fact_2ad50359601a46a0b35cbd1a4476f82c">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="c20240101to20240630"
      id="Fact_74b9266fcf7243f19152832dcd913971">2024</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="c20240101to20240630"
      id="Fact_d033022c7e724749a010556f23c53f6c">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey
      contextRef="c20240101to20240630"
      id="Fact_12eb56aa7125425dbad85ca8e6c865ee">0000909724</dei:EntityCentralIndexKey>
    <us-gaap:NumberOfOperatingSegments
      contextRef="c20240101to20240630"
      decimals="INF"
      id="Fact_4c711008a60048a693c2d64053cf65a7"
      unitRef="U005">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:NumberOfReportableSegments
      contextRef="c20240101to20240630"
      decimals="INF"
      id="Fact_2c2df6efbbb741fc9d75157cfbeaec0b"
      unitRef="U005">1</us-gaap:NumberOfReportableSegments>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20240630_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember_RangeAxis_MinimumMember"
      id="Fact_f6f6e0f9d99e4a14a6efa773cccc6372">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20240630_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember_RangeAxis_MinimumMember"
      id="Fact_4b51686560af46539f10d61548e34c47">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <dei:SecurityExchangeName
      contextRef="c20240101to20240630"
      id="Fact_8d5677946dd14b1dbd72bffe8fb1efe3">NASDAQ</dei:SecurityExchangeName>
    <us-gaap:CommitmentsAndContingencies
      contextRef="c20240630"
      id="Fact_34a595a0c62f48acb4e6be9a8ed0ae1c"
      unitRef="U002"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="c20231231"
      id="Fact_e0651627809640b292897958433181f4"
      unitRef="U002"
      xsi:nil="true"/>
    <dei:DocumentType
      contextRef="c20240101to20240630"
      id="Fact_6bc8d1d88f9d4ad291a2d93b945e8a04">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="c20240101to20240630"
      id="Fact_1f05e00be1cc4359b0bb517c59dc2361">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="c20240101to20240630"
      id="Fact_da20207f205343d4872aa035b0939359">2024-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="c20240101to20240630"
      id="Fact_8fb3ec6206fe4c738f56ffca6aa6b8bf">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="c20240101to20240630"
      id="Fact_d50af2a173ac479ba8a404687c93fd72">1-12368</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="c20240101to20240630"
      id="Fact_fee2f731effe4264b7efcac3d5f20fed">TANDY LEATHER FACTORY, INC</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="c20240101to20240630"
      id="Fact_ed1ce4f675114746ba2e102e4081b69f">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="c20240101to20240630"
      id="Fact_5a7f0988c49f4b2faafc4b39aa75fa27">75-2543540</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="c20240101to20240630"
      id="Fact_b359cbff66ce46ed88c8b0e7078c7545">1900 Southeast Loop 820</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="c20240101to20240630"
      id="Fact_a2df616486534fc5b472c9fbb4f2ac7f">Fort Worth</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="c20240101to20240630"
      id="Fact_e141d97b9fd0449eac7d54e6781c1c16">TX</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="c20240101to20240630"
      id="Fact_899a2dea4ed84c3f9ecd762866bec385">76140</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="c20240101to20240630"
      id="Fact_549df5a0b6c741f38e5c37a2936744d6">817</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="c20240101to20240630"
      id="Fact_38acc00125d64ed685e73ff581b889e5">872-3200</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="c20240101to20240630"
      id="Fact_f6a90e49d1ca475eab2beb24ad663c28">Common Stock, par value $0.0024</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="c20240101to20240630"
      id="Fact_4ef7fe560f304157a36b34792e25f7cc">TLF</dei:TradingSymbol>
    <dei:EntityCurrentReportingStatus
      contextRef="c20240101to20240630"
      id="Fact_7462a5e3928d4e9ea9940150b1254345">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="c20240101to20240630"
      id="Fact_adfb022b38a34fdea0f3d10bc0354354">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="c20240101to20240630"
      id="Fact_a6c39124a9944daea4c2b68c8b07816e">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="c20240101to20240630"
      id="Fact_c83ac92d4cec4867881d3657a6fdaab2">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="c20240101to20240630"
      id="Fact_406ad1d5c23c49729bab7eb3c1508071">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="c20240101to20240630"
      id="Fact_6e8d7ff744ec4199a9d32e2d618b8e55">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="c20240807"
      decimals="INF"
      id="Fact_1742aaea241f48b2b1bf68309b168f4e"
      unitRef="U001">8422546</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="c20240630"
      decimals="-3"
      id="Fact_f62070ca53104d4ba151c630e4e4a1e9"
      unitRef="U002">11531000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="c20231231"
      decimals="-3"
      id="Fact_acd4eb7224d943e981813fec3b10eb8a"
      unitRef="U002">12159000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_46d596c2d45c4fefa92b51156eb74549"
      unitRef="U002">31000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20240630"
      decimals="-3"
      id="Fact_293bf35261534227b66591d272267701"
      unitRef="U002">31000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="c20240630"
      decimals="-3"
      id="Fact_b43d23186a354ef087c9ca3f0714944f"
      unitRef="U002">394000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_f6edb4e0e0b749f68305f01636331399"
      unitRef="U002">264000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="c20240630"
      decimals="-3"
      id="Fact_082e0eee2b8a4713a7c6283f78807a0c"
      unitRef="U002">37191000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_04cf1b1bb642476d9415c65d064283d1"
      unitRef="U002">37993000</us-gaap:InventoryNet>
    <us-gaap:IncomeTaxesReceivable
      contextRef="c20240630"
      decimals="-3"
      id="Fact_9569c2a285484bf5a1e8671ca34e2169"
      unitRef="U002">682000</us-gaap:IncomeTaxesReceivable>
    <us-gaap:IncomeTaxesReceivable
      contextRef="c20231231"
      decimals="-3"
      id="Fact_26db74e67738448993d3afee0b1d2d09"
      unitRef="U002">248000</us-gaap:IncomeTaxesReceivable>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="c20240630"
      decimals="-3"
      id="Fact_41b6488a3a3a44a88ad21a52af44d03f"
      unitRef="U002">910000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_7ab4bb06c3b8482e84d348cd41978ad3"
      unitRef="U002">475000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="c20240630"
      decimals="-3"
      id="Fact_72f4735c8452450588a5082fc9155886"
      unitRef="U002">84000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_3dbac0e053c54355b179d600e1c205ca"
      unitRef="U002">113000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="c20240630"
      decimals="-3"
      id="Fact_995f57d29ee64d2db251b190ed0f3ec3"
      unitRef="U002">50792000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_b5b9f863a39241b5afc9a427225f9788"
      unitRef="U002">51252000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20240630"
      decimals="-3"
      id="Fact_1729587441e2462495c0439e1e1c882b"
      unitRef="U002">30069000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20231231"
      decimals="-3"
      id="Fact_7acd6689df674f3dbab31f92f3a08df8"
      unitRef="U002">28678000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="c20240630"
      decimals="-3"
      id="Fact_3e4fb85c9e6542f39e5a78298cfaf205"
      unitRef="U002">18730000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="c20231231"
      decimals="-3"
      id="Fact_10f9e733c68f4ac4914585c13e5fd0a5"
      unitRef="U002">18131000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20240630"
      decimals="-3"
      id="Fact_f72bd034c5f44a138409a07a60bc635c"
      unitRef="U002">11339000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_5bd5772e381b4d8f813e1dd299e40828"
      unitRef="U002">10547000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="c20240630"
      decimals="-3"
      id="Fact_71eb22a417f54533b1e1b044e588bfc6"
      unitRef="U002">9453000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="c20231231"
      decimals="-3"
      id="Fact_1018266c2a7540a195a15dca0489054c"
      unitRef="U002">8995000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="c20240630"
      decimals="-3"
      id="Fact_2ded10a9af984a029883901596abdd70"
      unitRef="U002">0</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="c20231231"
      decimals="-3"
      id="Fact_3f31f84862244212ad54577d881c2378"
      unitRef="U002">23000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="c20240630"
      decimals="-3"
      id="Fact_3f515628f2cf4f328ad46a7cb2c99fd1"
      unitRef="U002">770000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_70f24457e3214e37805977f93e7e030c"
      unitRef="U002">880000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="c20240630"
      decimals="-3"
      id="Fact_0541ef70243b490987cc2734e2f1ade0"
      unitRef="U002">440000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_7a579ba1a3f8410fbbef8802e1dfd86f"
      unitRef="U002">438000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="c20240630"
      decimals="-3"
      id="Fact_1fe1585753e64adea846847776632ae1"
      unitRef="U002">72794000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c20231231"
      decimals="-3"
      id="Fact_70cffd90289e4302b54227519ea5ff7f"
      unitRef="U002">72135000</us-gaap:Assets>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="c20240630"
      decimals="-3"
      id="Fact_11c12efc92224acda9e458cb99da55e6"
      unitRef="U002">2397000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_ad09d85a682f4e8d97b11d1b3b7dbfb4"
      unitRef="U002">2333000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccruedLiabilitiesAndOtherLiabilities
      contextRef="c20240630"
      decimals="-3"
      id="Fact_4eef18432c924b56b3185d5a927b281c"
      unitRef="U002">2388000</us-gaap:AccruedLiabilitiesAndOtherLiabilities>
    <us-gaap:AccruedLiabilitiesAndOtherLiabilities
      contextRef="c20231231"
      decimals="-3"
      id="Fact_aac5d183456b4ea0b8f8a0b9dabb0ca5"
      unitRef="U002">3140000</us-gaap:AccruedLiabilitiesAndOtherLiabilities>
    <us-gaap:TaxesPayableCurrent
      contextRef="c20240630"
      decimals="-3"
      id="Fact_1e61e8dbeefb4fd88509d39f3b899a0c"
      unitRef="U002">0</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_cda6dbc814a7488cb3d6edbc252dfa50"
      unitRef="U002">288000</us-gaap:TaxesPayableCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="c20240630"
      decimals="-3"
      id="Fact_b0ed5a54a31d412b9206534fe59808b1"
      unitRef="U002">3132000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_2404d22b257443b8ba6b802bb6a77552"
      unitRef="U002">3172000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="c20240630"
      decimals="-3"
      id="Fact_194f3a521f8542ed98e877f03b2c7a02"
      unitRef="U002">7917000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_02ec94ec4d2a470489824c13737974d1"
      unitRef="U002">8933000</us-gaap:LiabilitiesCurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="c20240630"
      decimals="-3"
      id="Fact_4d8137d4ddef4158a2cb555a3095bdda"
      unitRef="U002">9000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_d9ce892ce9ca4a31bb1d7b21a1f4fecf"
      unitRef="U002">9000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="c20240630"
      decimals="-3"
      id="Fact_c9ad2f5c2f774ea4a3d5d622da635aac"
      unitRef="U002">388000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_8de18742607b436280eb413a3b253259"
      unitRef="U002">388000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20240630"
      decimals="-3"
      id="Fact_d949d25374384172856dc7f66fdca62b"
      unitRef="U002">210000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_204d66e26dbf491cba8340ec6a46a474"
      unitRef="U002">205000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="c20240630"
      decimals="-3"
      id="Fact_7dd3626f31de4d73899181cc1a2a07b9"
      unitRef="U002">6734000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_18ae09ec07c649dbb83a7ab0e8114e93"
      unitRef="U002">6253000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="c20240630"
      decimals="-3"
      id="Fact_2897bf9ae23745e99a9c1d1ef250b3db"
      unitRef="U002">0</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_ca742f7dd7a24b1ab1630d94c691e193"
      unitRef="U002">1000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c20240630"
      decimals="4"
      id="Fact_af70c7f62d8a42698a7ffb29891ea158"
      unitRef="U003">0.0024</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c20231231"
      decimals="4"
      id="Fact_67ad98c9aca24ba8a594ce8c89c08b06"
      unitRef="U003">0.0024</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c20240630"
      decimals="0"
      id="Fact_10d33001bd8a4b708a13ea2111c77547"
      unitRef="U001">25000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c20231231"
      decimals="0"
      id="Fact_05c4c121b89f421f98b20e1e3bdd917e"
      unitRef="U001">25000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20240630"
      decimals="0"
      id="Fact_3cef10a11764446d9e282f6524a327d8"
      unitRef="U001">9846670</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20231231"
      decimals="0"
      id="Fact_83ea9d00f0eb43668b9ae6615ee8aaa0"
      unitRef="U001">9823621</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c20240630"
      decimals="0"
      id="Fact_304d4910515b4c3b92a82deb23a70c36"
      unitRef="U001">8422546</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c20231231"
      decimals="0"
      id="Fact_57df0afafed8470d99fc99f10a787aa5"
      unitRef="U001">8399245</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="c20240630"
      decimals="-3"
      id="Fact_86a951983e904f92bd6f529a6be80fc8"
      unitRef="U002">23000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="c20231231"
      decimals="-3"
      id="Fact_d963ecd1aeaf46ffa26e5b4a762d7524"
      unitRef="U002">23000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="c20240630"
      decimals="-3"
      id="Fact_b25aaa898f8447d08deaedfd3c1c9a54"
      unitRef="U002">4335000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="c20231231"
      decimals="-3"
      id="Fact_c749042e61ee41b1af7383819983ddf1"
      unitRef="U002">3981000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="c20240630"
      decimals="-3"
      id="Fact_5d919692d0154de7b43c9af45fd1dd13"
      unitRef="U002">64285000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="c20231231"
      decimals="-3"
      id="Fact_631d680706e2489cbaebfe4c28826c67"
      unitRef="U002">63659000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:TreasuryStockCommonShares
      contextRef="c20240630"
      decimals="0"
      id="Fact_f55a4907f73940b485a040204406f87d"
      unitRef="U001">1424376</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="c20231231"
      decimals="0"
      id="Fact_13dd1be091a7489ab34f6ffdc13d6c61"
      unitRef="U001">1424376</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonValue
      contextRef="c20240630"
      decimals="-3"
      id="Fact_95e3dbf4d3dc48628c3ce62a07cc30ef"
      unitRef="U002">9773000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:TreasuryStockCommonValue
      contextRef="c20231231"
      decimals="-3"
      id="Fact_152d00a129594a6fa9afdcfcda3fc243"
      unitRef="U002">9773000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="c20240630"
      decimals="-3"
      id="Fact_575f180949724a33aa35bf42e4c0e306"
      unitRef="U002">-1334000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="c20231231"
      decimals="-3"
      id="Fact_cc94befd8c434ea684d35d1228e17802"
      unitRef="U002">-1544000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="c20240630"
      decimals="-3"
      id="Fact_f883230d5eaf479fa435f783bf88261f"
      unitRef="U002">57536000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231"
      decimals="-3"
      id="Fact_c6ee96b092f44dc88a0f39788718f460"
      unitRef="U002">56346000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="c20240630"
      decimals="-3"
      id="Fact_197ad2ddc1fb41eb92432bd8c7a403ca"
      unitRef="U002">72794000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="c20231231"
      decimals="-3"
      id="Fact_15f1e2a04f714518b29ae79d86c2c952"
      unitRef="U002">72135000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240401to20240630"
      decimals="-3"
      id="Fact_852d72a926b64d588c7e2cb87a4fdca2"
      unitRef="U002">17286000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_fde61472a43e413ba6a72d66a5c1e4d1"
      unitRef="U002">17482000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_e5d404e8f5d54195a0b2571b5f784665"
      unitRef="U002">36561000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_733a93420ee342aabe624376269b38e3"
      unitRef="U002">37842000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c20240401to20240630"
      decimals="-3"
      id="Fact_11ed1a0fe35342e3a1c058cdf0f5c22f"
      unitRef="U002">7268000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_87006948ef5e4bb4b6fc7c90046cdb5e"
      unitRef="U002">6561000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_cb4823b384094e04bc64ff4662de2d89"
      unitRef="U002">15623000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_618a573b99ce4529a5bff22d5595d01b"
      unitRef="U002">15102000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="c20240401to20240630"
      decimals="-3"
      id="Fact_3a5c0499b4b443469658e083e5a837a2"
      unitRef="U002">10018000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_25bd46f6095545a788190eef23cbff69"
      unitRef="U002">10921000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_84280a6011a541cca546e92c659c543a"
      unitRef="U002">20938000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_8e53e16b9a194e8e9be0cac1e905ef9d"
      unitRef="U002">22740000</us-gaap:GrossProfit>
    <us-gaap:OperatingCostsAndExpenses
      contextRef="c20240401to20240630"
      decimals="-3"
      id="Fact_8037dd11d847458c9ab0d4d1ca8acf90"
      unitRef="U002">9955000</us-gaap:OperatingCostsAndExpenses>
    <us-gaap:OperatingCostsAndExpenses
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_7c9db5b002e14b2791bc7efbd4627395"
      unitRef="U002">10131000</us-gaap:OperatingCostsAndExpenses>
    <us-gaap:OperatingCostsAndExpenses
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_41dd5011ac2c48738a3de352ae96289e"
      unitRef="U002">20226000</us-gaap:OperatingCostsAndExpenses>
    <us-gaap:OperatingCostsAndExpenses
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_b35cd76d068e4715bedd9d90257453c0"
      unitRef="U002">20969000</us-gaap:OperatingCostsAndExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="c20240401to20240630"
      decimals="-3"
      id="Fact_2677457e1d6b4c4a93f18e307062599b"
      unitRef="U002">63000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_9df1c0c155544ddba5c39fe9de2337ca"
      unitRef="U002">790000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_681d125c3f1148849137184029121480"
      unitRef="U002">712000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_c5b33e8ee6f443c3a228da69bf10772d"
      unitRef="U002">1771000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="c20240401to20240630"
      decimals="-3"
      id="Fact_378771ab40e743b985ef82d1b5b9b05f"
      unitRef="U002">97000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_b6ed7a744f9540c793e742f5cef901a2"
      unitRef="U002">0</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_9baed9d53cbe4db3b03b6d368d8be3a8"
      unitRef="U002">181000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_59447cedd9e841bbb58041c30ac413ed"
      unitRef="U002">0</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="c20240401to20240630"
      decimals="-3"
      id="Fact_5e7812df59d64009ae7d3e200a6790c5"
      unitRef="U002">-10000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_9ec8d053579647668e9e5958b768a5ce"
      unitRef="U002">2000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_95710e135031489c8f496d9b9153bf51"
      unitRef="U002">-36000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_23a180a1b4d341b68f6ff4ea520f83f8"
      unitRef="U002">-37000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="c20240401to20240630"
      decimals="-3"
      id="Fact_643aff58c3dc4a789e99aa201c46c0a6"
      unitRef="U002">87000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_885d78480b084b44831bf574d86a4056"
      unitRef="U002">2000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_d9b1877389f044368c0bdee0bf625bfc"
      unitRef="U002">145000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_8d814267d18e4c0186a45013c553e38f"
      unitRef="U002">-37000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c20240401to20240630"
      decimals="-3"
      id="Fact_3e50382d96ea44d0825e7f83b197c7c9"
      unitRef="U002">150000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_9682b8a7483f4cd4b53eef72dada2e78"
      unitRef="U002">792000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_7442957997bd4e64b0c1539ca1713d78"
      unitRef="U002">857000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_87a51f4f35b347329593620dc0751167"
      unitRef="U002">1734000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20240401to20240630"
      decimals="-3"
      id="Fact_e7195d07078f4c8980966436ac9fda58"
      unitRef="U002">49000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_9d3143e86c204d40be5dd3dfe13181a7"
      unitRef="U002">261000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_bee7adb7214e46349d090f3956dbd736"
      unitRef="U002">231000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_5afc13b45b72405797ba9cd8618b484a"
      unitRef="U002">539000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="c20240401to20240630"
      decimals="-3"
      id="Fact_0dff718ee0fc4f34ba95a3dd0de41697"
      unitRef="U002">101000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_1d9c8218b35247478ec81cc6fb72efa7"
      unitRef="U002">531000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_b46eca170cca41388ea5ae9ce7ce1e09"
      unitRef="U002">626000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_200335eca0114633a073f521c4e24541"
      unitRef="U002">1195000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20240401to20240630"
      decimals="-3"
      id="Fact_edc56b2696f641688621385c0a56a409"
      unitRef="U002">40000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_0326d0a2a90f4f4cb33633265917661e"
      unitRef="U002">-70000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_3bbbe05ffda64c4dae679d738a4175e5"
      unitRef="U002">210000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_39969d28f06f48b4a966dc3046ec4d23"
      unitRef="U002">-109000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20240401to20240630"
      decimals="-3"
      id="Fact_85cbc0834ea94bab8956801def6093ff"
      unitRef="U002">141000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_88d644bbdd564cec9e48a5ec5cd962e3"
      unitRef="U002">461000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_dda687d5ae7f4c378ebbbccc05a6176b"
      unitRef="U002">836000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_fb0c090ad9034cf8849bb658a8c45801"
      unitRef="U002">1086000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20240401to20240630"
      decimals="2"
      id="Fact_2b5627e4a8c44c59842137d0b8b149b1"
      unitRef="U003">0.01</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20230401to20230630"
      decimals="2"
      id="Fact_80482105f6e14fb8b65d1bc213484239"
      unitRef="U003">0.06</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20240101to20240630"
      decimals="2"
      id="Fact_0970adb527b64a2fbe39f6295f9e5bf4"
      unitRef="U003">0.07</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20230101to20230630"
      decimals="2"
      id="Fact_ec5e822441e54c478a2638b5fc43f58b"
      unitRef="U003">0.14</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20240401to20240630"
      decimals="2"
      id="Fact_3b80b9d61e884198afc95b627caf997c"
      unitRef="U003">0.01</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20230401to20230630"
      decimals="2"
      id="Fact_a3814249feae477cb027d6ed5e62b653"
      unitRef="U003">0.06</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20240101to20240630"
      decimals="2"
      id="Fact_bcfc7044774b45ff8d5a41cf73d5dbd8"
      unitRef="U003">0.07</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20230101to20230630"
      decimals="2"
      id="Fact_427d403301e640f3911246c304f84b70"
      unitRef="U003">0.14</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20240401to20240630"
      decimals="0"
      id="Fact_fa40471a756f4f95ab67b8c06fb3e73d"
      unitRef="U001">8415795</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20230401to20230630"
      decimals="0"
      id="Fact_990dc6954cc242cf82066a244113438e"
      unitRef="U001">8327178</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20240101to20240630"
      decimals="0"
      id="Fact_3d4698e28baf4405bbfaa300438b402a"
      unitRef="U001">8406156</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20230101to20230630"
      decimals="0"
      id="Fact_b939f7dc602040cb8d288ab787c6a707"
      unitRef="U001">8315214</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20240401to20240630"
      decimals="0"
      id="Fact_0e9e8249c3f245baa33ff742f9c2e544"
      unitRef="U001">8505068</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20230401to20230630"
      decimals="0"
      id="Fact_c54b6a9fa226459a82ba1efcd1ee7dd2"
      unitRef="U001">8366904</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20240101to20240630"
      decimals="0"
      id="Fact_687f04ebc1324f70a2f079f77b0863f5"
      unitRef="U001">8467156</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20230101to20230630"
      decimals="0"
      id="Fact_bc6a50dc3825493daebf8811598f9ea0"
      unitRef="U001">8329969</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_afe992936f844416b8ec4e0642eda8cb"
      unitRef="U002">626000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_e470e02c58864ab59f66c55f2a1e2d10"
      unitRef="U002">1195000</us-gaap:NetIncomeLoss>
    <us-gaap:CostOfGoodsAndServicesSoldDepreciation
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_5d306f983ba0498dba2fed642408e418"
      unitRef="U002">631000</us-gaap:CostOfGoodsAndServicesSoldDepreciation>
    <us-gaap:CostOfGoodsAndServicesSoldDepreciation
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_9d059479e7944a349a773567501ebae2"
      unitRef="U002">590000</us-gaap:CostOfGoodsAndServicesSoldDepreciation>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_69ca229d341848a68aa7ded03ac96b2f"
      unitRef="U002">1799000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_7b4a16c658e04ba38adc1f2b81daec3c"
      unitRef="U002">1670000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:ShareBasedCompensation
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_4a60c5e53a5347d1bd713fefaa2f3d72"
      unitRef="U002">354000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_05ede0e37f234aa19c82a4baf8e9a20a"
      unitRef="U002">447000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_6fdd91095f244192b2886af765a9f3f7"
      unitRef="U002">110000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_70210924cfb249b6b6f84f9fea140e6e"
      unitRef="U002">-31000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_469f8b97f1f7415da1d2814d69cf02d0"
      unitRef="U002">133000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_dabc86ad17ae465fa2b563c2397566c6"
      unitRef="U002">51000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_096a43d6e35345a295e31300db774b2d"
      unitRef="U002">-775000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_96a1de920fe6427ab54a9e01cf0cc156"
      unitRef="U002">-714000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_039ceca9acba48cb89985abc7d8296ea"
      unitRef="U002">435000</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_68e8dd6e5ecf4dd0af86becdaf14e5cc"
      unitRef="U002">103000</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_fe5302e6147a46c5ae71cf7dd317f2e9"
      unitRef="U002">-29000</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_491f602948a344b3845989ef3edec1dd"
      unitRef="U002">-33000</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_c96a8bd3728f4af0bba7809769bbd558"
      unitRef="U002">68000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_ca15fff38ecb4ff189b818392e1504bd"
      unitRef="U002">-747000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_9b82894407074b9f8452abfb20b2f340"
      unitRef="U002">-738000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_0e6e66ff0bd445bd9018c46734ae83a7"
      unitRef="U002">-22000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_ab2074bc20e94a28830c7dbb6e21bfa9"
      unitRef="U002">718000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_f98d9f3b08284482b86938b1ab3dacf0"
      unitRef="U002">-414000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_f736b47f9e4f451d893c54a6715a4536"
      unitRef="U002">2000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_c32c1139021049b9b92d23d88cdbfe3b"
      unitRef="U002">63000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_086a534cae7b43948ab0a46cd58bb461"
      unitRef="U002">-1794000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_7253ba0442d044e495e002816e1abeb3"
      unitRef="U002">-1717000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_9add301286934b06ac89dbb396719083"
      unitRef="U002">-54000</us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities>
    <us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_656485542e914606afe181c1345ebe54"
      unitRef="U002">1134000</us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_c2af07cf40504a0fb3863d68e7713c4a"
      unitRef="U002">572000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_d7a467a27f7a4528a6ef47f8ce72ac48"
      unitRef="U002">2329000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_0e1b8a61db48485dad07cd192176e387"
      unitRef="U002">1428000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_05556119cbdd43aebf16f66d8d972f68"
      unitRef="U002">174000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_47f74efe31d24dd9855eaab1a527161d"
      unitRef="U002">-1428000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_011f12bbaf0d4984814f929f220e4fb1"
      unitRef="U002">-174000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_79576add873747dabed9e17088a219de"
      unitRef="U002">1000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_0c9ebe11742d4007b357682c77041e76"
      unitRef="U002">3000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_52b5a6396326442d92ad66588a1be6fe"
      unitRef="U002">-1000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_1038047a2ccc47d6bc708c0e60ff64a9"
      unitRef="U002">-3000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_080bdd037b04484ea5579b7c14fff774"
      unitRef="U002">229000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_98ef8dbc02474477aab99427288ae4e1"
      unitRef="U002">-94000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_c648e453dbe943ee9f38ad469a38a4e7"
      unitRef="U002">-628000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_5d05fd4badb049b8949ff918ccfd5dbb"
      unitRef="U002">2058000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20231231"
      decimals="-3"
      id="Fact_5acae741e051429da33001ab9e4162e6"
      unitRef="U002">12159000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20221231"
      decimals="-3"
      id="Fact_3a0e050ab64445d7be3cc8dba22e693d"
      unitRef="U002">7975000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20240630"
      decimals="-3"
      id="Fact_da0d3ad6306c47cf8d9980e7f11ba572"
      unitRef="U002">11531000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20230630"
      decimals="-3"
      id="Fact_90edb0cf2a4f4de6a1f4b7ed34f115be"
      unitRef="U002">10033000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:SharesOutstanding
      contextRef="c20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_7c87dcf876174f329c56bc2e0b2ae42a"
      unitRef="U001">8399245</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="c20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_56036ef2224e40c4995d501ca8182f34"
      unitRef="U002">23000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_233d4fe9b0d34fd7954eee4f8f1ec26a"
      unitRef="U002">3981000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_e6b82976f6e346158bc2b8db8dc40211"
      unitRef="U002">-9773000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_4912cc266ac84229a6bdc0032f39003c"
      unitRef="U002">63659000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_38a9a489ed23444ebbdfd28586c3cba6"
      unitRef="U002">-1544000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231"
      decimals="-3"
      id="Fact_4c5d7fecb0fe4a0482002a36ccebb278"
      unitRef="U002">56346000</us-gaap:StockholdersEquity>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_71cd39a7f71e4ed296401c1bfc1f50b7"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_b76423b6b509497bb407842ec5e097b3"
      unitRef="U002">197000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_0f514612bcc647b2ab2e0d197d27fc99"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_f93f265afbd74f628cddd052290ea38f"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_5be356490205420aa3a371c88a1ba7ac"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_1388df5e5451470b983992d1ea8aaceb"
      unitRef="U002">197000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_5253204e55a24505aa999a171e91bcf1"
      unitRef="U001">2727</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_a6540c746d1e41b7994115ff05f16802"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_7bf6074212eb471b92784ff1d08a4592"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_15f3f2c9d86c4e49afed392d56b47df7"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_2023857a548b44489b09adb5032072a6"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_36d58702c6924a979711977b04d9c5f2"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_2caed5c902d7482b8718538474aa6d5a"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_CommonStockMember"
      decimals="INF"
      id="Fact_dd84ce58038040b4af5c4e7037c9445a"
      unitRef="U001">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_89101e4061ca458daecc1eb4b0a925b7"
      unitRef="U002">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_8289ba70745e4a62870e6abb4abb34f0"
      unitRef="U002">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_e79d22490c9b469aa535a5d18c476fb1"
      unitRef="U002">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_8d4f77ebd5194a7a9bfad0e49eacfda3"
      unitRef="U002">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_fa62898557a8451d85308971bc68ebee"
      unitRef="U002">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_dee60821bb864bf5ab9c119e16ff123d"
      unitRef="U002">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:NetIncomeLoss
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_f840065601e64301928827286d3d1a75"
      unitRef="U002">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_fc737df2ca9a45b8820f9bc406d46808"
      unitRef="U002">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_af0c3ef28da3410594538b5a5834e1c6"
      unitRef="U002">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_d6f620a8ceae40399e1f8a6598bf0a56"
      unitRef="U002">525000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_3a9233bc7962489fb1cbf41b7a3abfc2"
      unitRef="U002">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_c77e836741b24c709c8c2991618bfaba"
      unitRef="U002">525000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_2123ea517c524e1687a49667f0c2819f"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_9c4795d6abdb48f0866767659bedb0b8"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_9065c6112c80450ebe926c030500ff9e"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_7f44c0c446054aff96f87fe7ca9de348"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_df96c127891045e3ad4083c6d66089fd"
      unitRef="U002">170000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_aa1d276447cb483d87b6d02c30bb1ba6"
      unitRef="U002">170000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="c20240331_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_6fa1c2a20b764ef494ffeeefcc77364b"
      unitRef="U001">8401972</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="c20240331_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_fc6d343664bc407585e88f0ac7770ad5"
      unitRef="U002">23000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_2de51df5f79340ceb4a62022e56e5115"
      unitRef="U002">4178000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20240331_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_a8161a0ce8644bbb89190c3a932c6d9a"
      unitRef="U002">-9773000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20240331_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_030ec37bfa484d2eb79168791bd9032b"
      unitRef="U002">64184000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_99690d64f6d8468890b5b4fc7b63d667"
      unitRef="U002">-1374000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20240331"
      decimals="-3"
      id="Fact_4c9cbb949b5f4e2fb003165384b26811"
      unitRef="U002">57238000</us-gaap:StockholdersEquity>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_ffffd1b04d4d40029d774622527cf433"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_76ad642b49134c04bd57b28219190b6e"
      unitRef="U002">157000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_42932dc8dd394214845020c86927ea64"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_5850eea198d94ee9ad4999e31f87e7b9"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_4da83ed137684789a5de424f02e585ec"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20240401to20240630"
      decimals="-3"
      id="Fact_1b2fe9c2031345709a062c7eee4a3b99"
      unitRef="U002">157000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_ea49b01488ce46e58196bc172393c2af"
      unitRef="U001">20574</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_6b64d0a3e50d4c128484fedc6f8ecc8f"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_0b7c572e644c40d999954342001fb4c5"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_9637251d8fae47f99699338966eb9f03"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_514e2576bf4348cdb8cbb2b1109d8c02"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_399ad56d30be49eca09735c9fcd39f92"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20240401to20240630"
      decimals="-3"
      id="Fact_4ec106636aa649688919a181dc1040c5"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_CommonStockMember"
      decimals="INF"
      id="Fact_1c904b117b5f4ababa77a567be4ef83a"
      unitRef="U001">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_35f09cf93b874f25960ec194450f5b3f"
      unitRef="U002">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_ccc6cd3f5b5046158a209a87eaae7ecd"
      unitRef="U002">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_5805afdb8daa48c5bc455853d5a47b4a"
      unitRef="U002">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_b4d720b625fa4a01a5d9f5ae234f601f"
      unitRef="U002">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_66fa6336a9dd40cfa844d86812107af1"
      unitRef="U002">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="c20240401to20240630"
      decimals="-3"
      id="Fact_0e25eac9b9a4456b999a3f746e601e07"
      unitRef="U002">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:NetIncomeLoss
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_b181f8341d384522ac19066896591984"
      unitRef="U002">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_918b6343a6294f58b6b617e95c018495"
      unitRef="U002">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_22351812ce1e4c0e9cbdd393e33fb1f2"
      unitRef="U002">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_ea9058d585f244a396e391c0f360efae"
      unitRef="U002">101000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_6df58247155f4400aef2ec2608d6355e"
      unitRef="U002">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20240401to20240630"
      decimals="-3"
      id="Fact_9529431e61504e97a4897d536ed2dd0d"
      unitRef="U002">101000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_8daf7c26c8fe4f5cbe229d5416c06b1e"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_67c09e015f2943e89940e30b7e25b104"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_95cb3cd8df104bdda96627649f1370b5"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_36a3d084f183460798005dcb8580524d"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20240401to20240630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_a170b69fd27d426eb3a908dac1a59136"
      unitRef="U002">40000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20240401to20240630"
      decimals="-3"
      id="Fact_6e931e0d43ea4782918f263a8b50895e"
      unitRef="U002">40000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="c20240630_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_b61f055358f34394ba56f78f47e4e399"
      unitRef="U001">8422546</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="c20240630_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_13e2421d63cd47f095c820b07a9445bc"
      unitRef="U002">23000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20240630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_39bb41d10c5749c3b89d7a01c0a32f68"
      unitRef="U002">4335000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20240630_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_a0a43cfe466543259b4481a88b606bc6"
      unitRef="U002">-9773000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20240630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_7693d7ba1e394c1ca003cee25348ba5e"
      unitRef="U002">64285000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20240630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_97e5294f9d574a9484d26d9c1acafcac"
      unitRef="U002">-1334000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20240630"
      decimals="-3"
      id="Fact_c751f50dc0cb4832bec854f71033dfe8"
      unitRef="U002">57536000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="c20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_fee552905111444bbf11062875cb589c"
      unitRef="U001">8293149</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="c20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_8c22fd4e8601470bafec81aa656974d1"
      unitRef="U002">23000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_82573c209ecf4441bc2ebda372c9008f"
      unitRef="U002">3222000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_04034779412e4b49ab8515f32966a1a8"
      unitRef="U002">-9773000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_b004f7d9170b479f959287bf3da4f1d3"
      unitRef="U002">59891000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_c58c7ba1e4b442369458e32b2ddba600"
      unitRef="U002">-1900000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231"
      decimals="-3"
      id="Fact_f329e60a84454ef79530ef0f0235234c"
      unitRef="U002">51463000</us-gaap:StockholdersEquity>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_0836e3aaac254186b89d5d9a0445f586"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_e530581a26654206acd8bff2bf58af4a"
      unitRef="U002">228000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_b6a222a8fac246129c03ac8fd79972ac"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_70c9983e14944774893da6f94bb4935c"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_4bfba832967747f99d873df3676451f7"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_a921fee22c9e4844a03d96e745eecd37"
      unitRef="U002">228000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_e2c3df3a1a0b43f898100914c9989c00"
      unitRef="U001">17518</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_cc6c515b8d604417aa9fb81fd02e8113"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_d3b4b7dd44cf4f6ab0211893ea2b1a7b"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_269a84dccd264c2bb7df8ae0971fa4f0"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_369a73b1d6114114bbfcad2f8e259a2d"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_dae26fac796248c590ff974d08e2f196"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_bb5cf7120445449d9ef58a4bd7d124b0"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_9df6e28c3bbb489ea83b5a2f8f198547"
      unitRef="U002">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_f864a40a2f4643398460e4a06d93a647"
      unitRef="U002">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_c2a51707ea3646e5a557edbec0f97814"
      unitRef="U002">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_3794d7a9a82a446d90c4f7afa8d766fb"
      unitRef="U002">664000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_ca0bf68f1c9c46229dce3ccb9757ba5b"
      unitRef="U002">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_f07b6b5deac44d78a17b7f505c92683d"
      unitRef="U002">664000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_5ef161dc021945099edc1fec1454ff9e"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_503abfb908254248bc373eac8dc3acaa"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_2f35e47c9b7e44d7920900da5c5a196f"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_7f6cecb4bc254663a64aa91fb6e9c145"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_4364e6291175433c805f8e5c8fd01afe"
      unitRef="U002">-39000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_44abd95fe142418087605e8e1ffe2c71"
      unitRef="U002">-39000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="c20230331_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_15e28863c9c14ef9b03f90f5a9f974d1"
      unitRef="U001">8310667</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="c20230331_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_9e70743af5bd4d05908001c7479fbd63"
      unitRef="U002">23000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_8d65047b51a142ff865a497d8212a43f"
      unitRef="U002">3450000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20230331_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_11e4316c346e49adbbbe43dab9d7a94f"
      unitRef="U002">-9773000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20230331_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_a69e736792364677ae38db3dbdf27283"
      unitRef="U002">60555000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20230331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_19ed1cf4e01741739907659a7e832697"
      unitRef="U002">-1939000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20230331"
      decimals="-3"
      id="Fact_d99d8100ace94c119261343a9e34e7e5"
      unitRef="U002">52316000</us-gaap:StockholdersEquity>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_45972f26cc454114b0845c35dd94ecf5"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_011fba819060439aaaa54ee7649fba56"
      unitRef="U002">219000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_45514521679d449ca8c30b6ce698158b"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_c9d6bd5dad354866a2de1da04001f108"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_9b59476e90ac47aba4eb5c2b8f346aaa"
      unitRef="U002">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_b3da665613694410afdcc913780c15e3"
      unitRef="U002">219000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_c49f5d5d16a446ac9e5da7101aaee953"
      unitRef="U001">21681</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_f0efb4b45f12427e8892ff325ba7936b"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_9323542e95e94a468db53c6a10de8714"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_60060bdbaffc41a09412bfb0198157f7"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_23a6fb8a67df4d619cb86f421a35b325"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_c65e5e1dbe884b719f2f7e35bbfc9bb4"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_78320532dc0d48caa018745ee6b27296"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_CommonStockMember"
      decimals="INF"
      id="Fact_bd3384a4065342a2848a0b5c60a30929"
      unitRef="U001">0</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_43cde53bdf7d4e688320624393fb2bd6"
      unitRef="U002">0</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_d63baf690ea543588ee497dc7422fbec"
      unitRef="U002">0</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_06eb1cfd5f1c45ae9a354bf3b2960cc8"
      unitRef="U002">0</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_32c1ec7b6b96461e97de352a1a79df43"
      unitRef="U002">0</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_f258db751bc244e59d6c687c2594822d"
      unitRef="U002">0</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_68531d69d25e40d3ad3320c04a924d51"
      unitRef="U002">0</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_CommonStockMember"
      decimals="INF"
      id="Fact_23388f35a82a498c90dfc2a748722d6a"
      unitRef="U001">0</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_20363d5e80ba4ae99b6fa1a12a94c1c3"
      unitRef="U002">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_c63f7f021237412c99d3da6ebfbfd11f"
      unitRef="U002">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_8d95fd6921e2476b9420684adb64201f"
      unitRef="U002">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_d1679416269141878fa4e7ade2591e59"
      unitRef="U002">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_ad2b10d9e07d4b9299dfb620de728abd"
      unitRef="U002">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_d99d94d27b254236865eec8d3e7e6454"
      unitRef="U002">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:NetIncomeLoss
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_bfecb624351f4be2a6a41473439abe87"
      unitRef="U002">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_06c8e8e6d81f4610a2e34622db48ccad"
      unitRef="U002">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_b5f2d338c7dc4015afc83fbf02bdbff1"
      unitRef="U002">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_037ffc7a34a84b669f5458d851c50cde"
      unitRef="U002">531000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_54f75f4515a14736a6d05bc1676889ce"
      unitRef="U002">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_fddea4ae78d3467fb9dde61952af23ee"
      unitRef="U002">531000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_4f4b37f49e1f4f868bc002c5a8a097f9"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_d91a4bd9193c4cd9b37f861e8406f9de"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_32a3f868d2d74082aae44e0e072e8676"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_f12a93d24d4342849efacf0bce332b3f"
      unitRef="U002">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230401to20230630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_4d82148ff0934829b818b8e4a5e73cf6"
      unitRef="U002">-70000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_faa7a75c4e104ae6b77bb18bcf355bf5"
      unitRef="U002">-70000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="c20230630_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_0ea2687d119b4bffa40c72fa0a7d283d"
      unitRef="U001">8332348</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="c20230630_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_17679a57abf5470aa9dfd7cfce7c70f5"
      unitRef="U002">23000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20230630_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_36c0c88eb38d4f9bb043a9ab28089b30"
      unitRef="U002">3669000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20230630_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_b2b475a3343c45e9a4a1fa3a54c6ca56"
      unitRef="U002">-9773000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20230630_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_2753e436d7a2438db2db6e2db989fb82"
      unitRef="U002">61086000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20230630_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_08af3c652ce14e8bafad4b53a48eb2b8"
      unitRef="U002">-2009000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20230630"
      decimals="-3"
      id="Fact_2544ab24dc7b407e8301da2e00b1222f"
      unitRef="U002">52996000</us-gaap:StockholdersEquity>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock
      contextRef="c20240101to20240630"
      id="Text_b31f60fb8f7b413b8381650964e68434">
&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1.&#160; BASIS OF PRESENTATION AND CERTAIN SIGNIFICANT ACCOUNTING POLICIES&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Tandy Leather Factory, Inc. (&#x201c;TLF,&#x201d; &#x201c;we,&#x201d; &#x201c;our,&#x201d; &#x201c;us,&#x201d; &#x201c;the Company,&#x201d; &#x201c;Tandy,&#x201d; or &#x201c;Tandy Leather&#x201d; mean Tandy Leather Factory, Inc., together with its subsidiaries)&lt;span style="font-style: italic;"&gt;&#160;&lt;/span&gt;is one of the world&#x2019;s largest specialty retailers of leather and leathercraft-related items. Founded in 1919 in Fort Worth, Texas, the Company introduced leathercrafting to millions of American and later
          Canadian and other international customers and has built a track record as the trusted source of quality leather, tools, hardware, supplies, kits and teaching materials for leatherworkers everywhere. Today, our mission remains to build on our
          legacy of inspiring the timeless art and trade of leatherworking.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;What differentiates Tandy from the competition is our high brand awareness and strong brand equity and loyalty, our network of retail stores that provides convenience,
        a high-touch customer service experience, a hub for the local leathercrafting community, and our 100-year heritage.&#160; We believe that this combination of qualities is unique to Tandy and gives the brand competitive advantages that are difficult for
        others to replicate.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We sell our products primarily through company-owned stores, through orders generated from our global websites, and through direct account representatives in our
        commercial division. We also manufacture leather lace, cut leather pieces and most of the do-it-yourself kits that are sold in our stores and on our websites.&#160; We also offer production services to our business customers such as cutting
        (&#x201c;clicking&#x201d;), splitting, and some assembly.&#160; We maintain our principal offices at 1900 Southeast Loop 820, Fort Worth, Texas 76140.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The Company currently operates a total of 101 retail
        stores.&#160; There are 90 stores in the United States (&#x201c;U.S.&#x201d;), ten stores in Canada and one store in Spain.&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
      &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;The Company&#x2019;s common shares currently trade on the Nasdaq Capital Market under the symbol &#x201c;TLF.&#x201d;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We operate as a &lt;span style="-sec-ix-hidden:Fact_4c711008a60048a693c2d64053cf65a7"&gt;&lt;span style="-sec-ix-hidden:Fact_2c2df6efbbb741fc9d75157cfbeaec0b"&gt;single&lt;/span&gt;&lt;/span&gt; segment and report on a
        consolidated basis.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;The accompanying unaudited Condensed Consolidated Financial Statements have been prepared in accordance with accounting principles generally accepted in the United
            States of America (&#x201c;GAAP&#x201d;) for interim financial information and with the instructions to Form 10-Q and Article 8 of Regulation S-X. Accordingly, they do not include all of the information and footnotes required by GAAP for annual audited
            financial statements. In the opinion of management, the accompanying unaudited Condensed Consolidated Financial Statements for Tandy Leather Factory, Inc. and its consolidated subsidiaries contain all adjustments (consisting of normal recurring
            adjustments) necessary to present fairly our financial position as of June 30, 2024 and December 31, 2023, our results of operations and our cash flows for the six months ended June 30, 2024 and 2023, and our statements of stockholders&#x2019; equity
            as of and for the six months ended June 30, 2024 and 2023. The preparation of financial statements in accordance with GAAP requires the use of estimates that affect the reported value of assets, liabilities, revenues and expenses. These
            estimates are based on historical experience and various other factors that are believed to be reasonable under the circumstances, the results of which form the basis for the Company&#x2019;s conclusions. The Company continually evaluates the
            information used to make these estimates as the business and the economic environment changes. Actual results may differ from these estimates, and estimates are subject to change due to modifications in the underlying conditions or assumptions.
            These unaudited Condensed Consolidated Financial Statements should be read in conjunction with the audited Consolidated Financial Statements and accompanying notes included in our Form 10-K for the year ended December 31, 2023.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt; &lt;br/&gt;
          &lt;/div&gt;

&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Significant Accounting Policies&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&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-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/span&gt;.&#160; The Company considers investments with a maturity when purchased of three months or less to
        be cash equivalents.&#160; All credit card, debit card and electronic transfer transactions that process in less than seven days are classified as cash and cash equivalents.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&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-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Foreign currency translation and transactions&lt;/span&gt;&lt;/span&gt;.&#160; Foreign currency translation adjustments arise from activities of our
        foreign subsidiaries.&#160; Results of operations are translated into U.S. dollars using the average exchange rates during the period, while assets and liabilities are translated using period-end exchange rates.&#160; Foreign currency translation adjustments
        of assets and liabilities are recorded in stockholders&#x2019; equity and presented net of tax.&#160; Gains and losses resulting from foreign currency translations are reported in the Condensed Consolidated Statements of Operations and Comprehensive Income
        (Loss) under the caption &#x201c;Foreign currency translation adjustments, net of tax&#x201d; for all periods presented.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&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-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Revenue Recognition.&lt;/span&gt;&lt;/span&gt;&#160; Our revenue is earned from sales of merchandise and generally occurs via three methods: (1) at
        the store counter, (2) via web sales, and (3) sales of product directly to commercial customers. We recognize revenue when we satisfy the performance obligation of transferring control of product merchandise over to a customer. At the store
        counter, our performance obligation is met and revenue is recognized when a sales transaction occurs with a customer. When merchandise is shipped to a customer, our performance obligation is met, and revenue is recognized when control passes to the
        customer. Shipping terms are normally free on board (&#x201c;FOB&#x201d;) shipping point, and control passes when the merchandise is shipped to the customer. Sales tax and comparable foreign tax are excluded from net sales, while shipping charged to our
        customers is included in net sales. Net sales are based on the amount of consideration that we expect to receive, reduced by estimates for future merchandise returns.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The sales return allowance is based each year on historical customer return behavior and other known factors and reduces net sales and cost of sales, accordingly. The
        sales return allowance included in accrued expense and other liabilities was $0.1 million, $0.1 million, and $0.2 million as of June 30, 2024, December 31,
        2023, and January 1, 2023. The estimated value of merchandise expected to be returned included in other current assets was less than $0.1
        million as of June 30, 2024, December 31, 2023, and January 1, 2023.&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;We record a gift card liability for the unfulfilled performance obligation on the date we issue a gift card to a customer. We record revenue and reduce the gift card
        liability as the customer redeems the gift card. In addition, for gift card breakage, we recognize a proportionate amount for the expected unredeemed gift cards over the expected customer redemption period, which is one year. As of June 30, 2024, December 31, 2023 and January 1, 2023, our gift card liability, included in accrued expenses and other liabilities, was $0.1 million, $0.3 million and $0.3 million, respectively. We recognized gift card revenue of $0.2 million for the six months ended June 30, 2024 and 2023.&lt;br/&gt;
      &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;For the three months ended June 30, 2024 and 2023, we recognized $0.1
        million and $0.2 million respectively in net sales associated with gift cards.&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;For the six months ended June 30, 2024 and 2023, we recognized $0.2
        million and $0.3 million respectively in net sales associated with gift cards.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&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-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Disaggregated Revenue.&lt;/span&gt;&#160; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt; color: #000000;"&gt; In the following table, revenue for the three and six months ended June 30,
        2024 and 2023 is disaggregated by geographic areas as follows:&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
      &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" 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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended 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" rowspan="1" style="text-align: center; font-weight: bold; vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" rowspan="1" style="text-align: center; vertical-align: bottom; font-weight: bold; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;Six Months Ended June 30,&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; 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; white-space: nowrap;" valign="bottom"&gt;&lt;span style="font-style: italic;"&gt;(in thousands)&lt;/span&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', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2024
              &lt;/div&gt;
            &lt;/td&gt;

    &lt;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', Times, serif; font-size: 10pt; font-weight: bold;"&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" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="text-align: center; vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;span style="font-weight: bold;"&gt;2024 &lt;/span&gt;&lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="text-align: center; vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;span style="font-weight: bold;"&gt;2023 &lt;/span&gt;&lt;/td&gt;

    &lt;td colspan="1" rowspan="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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: 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', Times, serif; 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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15,300&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="1" style="text-align: 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; white-space: nowrap;" 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;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15,566&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="1" style="text-align: 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; white-space: nowrap;" 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;$&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;32,386 &lt;/td&gt;

    &lt;td colspan="1" style="text-align: 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; white-space: nowrap;" 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;$&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;33,665 &lt;/td&gt;

    &lt;td colspan="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 style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Canada&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,737&lt;/div&gt;
            &lt;/td&gt;

    &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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,591&lt;/div&gt;
            &lt;/td&gt;

    &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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;3,633
            &lt;/td&gt;

    &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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;3,498
            &lt;/td&gt;

    &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: 52%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;Other &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; 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" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;249 &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; 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" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;325 &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; 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" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;542 &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; 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" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;679 &lt;/td&gt;

    &lt;td colspan="1" rowspan="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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;"&gt;Net sales&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;17,286&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; white-space: nowrap;" 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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;17,482&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="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;36,561 &lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; 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="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;37,842 &lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; 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="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Geographic sales information is based on the location of the customer.&#160; As a percentage of our consolidated net sales, excluding Canada, our other international net
        sales were less than 2.0% for the three and six months ended June 30, 2024, and 2023 respectively.&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&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-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Discounts&lt;/span&gt;&lt;/span&gt;.&#160; We offer six
        classes of customer discounts:&#160; 1) Retail, 2) Military/First Responder, 3) Business, 4) Commercial, 5) Commercial Pro, and 6) Employees. There are no other classes of discounts, and any discounts given will fall into one of these six categories.&#160; Such discounts are not deemed to be variable consideration&#160; nor convey a material right to these customers since the discounted pricing
        they receive in a discount class is not incremental to others within the same class and there is no retrospective impact of such discounts.&#160; As a result, sales are reported after deduction of discounts at the point of sale.&#160; We do not pay slotting
        fees or make other payments to resellers.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&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-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Operating&lt;/span&gt;&lt;/span&gt;&lt;span style="text-decoration: underline;"&gt;&#160;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;expenses&lt;/span&gt;&lt;/span&gt;.&#160; Operating expenses include all selling,
        general and administrative costs, including wages and benefits, rent and occupancy costs, depreciation, advertising, store operating expenses, outbound freight charges (to ship merchandise to customers), and corporate office costs.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&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-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Property and equipment, net of accumulated depreciation&lt;/span&gt;&lt;/span&gt;.&#160; Property and equipment are stated at cost.&#160; Depreciation is
        computed using the straight-line method over the estimated useful lives of the assets, which are &lt;span style="-sec-ix-hidden:Fact_f6f6e0f9d99e4a14a6efa773cccc6372"&gt;three&lt;/span&gt; to ten years for equipment and machinery, &lt;span style="-sec-ix-hidden:Fact_4b51686560af46539f10d61548e34c47"&gt;seven&lt;/span&gt;
        to fifteen years for furniture and fixtures, five years for vehicles, and forty years for buildings and related improvements.&#160; Leasehold
        improvements are amortized over the lesser of the life of the lease or the useful life of the asset.&#160; Repairs and maintenance costs are expensed as incurred but are capitalized if extend the life of the assets.&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-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Inventory&lt;/span&gt;&lt;/span&gt;.&#160; Inventory is stated at the lower of first-in, first-out (&#x201c;FIFO&#x201d;) cost or net realizable value, and FIFO
        layers are maintained at the location level. Finished goods held for sale include the cost of merchandise purchases, the costs to bring the merchandise to our Texas distribution center, warehousing and handling expenditures, and distributing and
        delivering merchandise to our stores.&#160; These costs include depreciation of long-lived assets utilized in acquiring, warehousing and distributing inventory. Manufacturing inventory including raw materials and work-in-process is valued on a first in,
        first out basis using full absorption accounting which includes material, labor, and other applicable manufacturing overhead.&#160; Carrying values of inventory are analyzed and, to the extent that the cost of inventory exceeds the net realizable value,
        provisions are made to reduce the carrying amount of the inventory.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;We regularly review all inventory items to determine if there are (i) damaged goods (e.g., for leather, excessive scars or damage from ultra-violet (&#x201c;UV&#x201d;) light), (ii)
        items that need to be removed from our product line (e.g., slow-moving items, inability of a supplier to provide items of acceptable quality or quantity, and to maintain freshness in the product line) and (iii) pricing actions that need to be taken
        to adequately value our inventory at the lower of cost or net realizable value. &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Since the determination of net realizable value of inventory involves both estimation and judgement with regard to market values and reasonable costs to sell,
        differences in these estimates could result in ultimate valuations that differ from the recorded asset. &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The majority of inventory purchases and commitments are made in U.S. dollars in order to limit the Company&#x2019;s exposure to foreign currency fluctuations.&#160; Goods shipped
        to us are recorded as inventory owned by us when the risk of loss shifts to us from the supplier.&lt;span style="color: rgb(0, 0, 0);"&gt; &#160;&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&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;Inventory is physically counted partially during each quarter and fully at year-end in the Texas distribution center.&#160; At the store level,
        inventory is partially counted each quarter for high value items and fully at year-end. &lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Inventory is then adjusted in our accounting system to reflect actual count results.&#160;&#160;&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); 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: rgb(0, 0, 0); font-weight: bold;"&gt;June 30, 2024&lt;/div&gt;
            &lt;/td&gt;

    &lt;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: rgb(0, 0, 0); font-weight: bold;"&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;" valign="bottom"&gt;
              &lt;div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);"&gt;On hand:&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 style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);"&gt;Finished goods held for sale&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 style="color: rgb(0, 0, 0);"&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: rgb(0, 0, 0);"&gt;32,640&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="1" style="text-align: 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 style="color: rgb(0, 0, 0);"&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: rgb(0, 0, 0);"&gt;33,350&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="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-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);"&gt;Raw materials and work in process&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 style="color: rgb(0, 0, 0);"&gt;1,358&lt;/div&gt;
            &lt;/td&gt;

    &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 style="color: rgb(0, 0, 0);"&gt;1,774&lt;/div&gt;
            &lt;/td&gt;

    &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 style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);"&gt;Inventory in transit&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 style="color: rgb(0, 0, 0);"&gt;3,193&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 style="color: rgb(0, 0, 0);"&gt;2,869&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 style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-weight: bold;"&gt;TOTAL&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 style="color: rgb(0, 0, 0); font-weight: bold;"&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: rgb(0, 0, 0); font-weight: bold;"&gt;37,191&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 style="color: rgb(0, 0, 0); font-weight: bold;"&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: rgb(0, 0, 0); font-weight: bold;"&gt;37,993&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="font-family: 'Times New Roman'; font-size: 10pt;"&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-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Leases&lt;/span&gt;&lt;/span&gt;.&#160; We lease real estate for our retail store locations and may lease warehouse equipment for our Texas
        distribution center under long-term lease agreements; &#160; however, as of the end of June 30, 2023, we acquired the warehouse equipment and it is now a part of our fixed assets. We determine if an arrangement is a lease at inception and recognize
        right-of-use (&#x201c;ROU&#x201d;) assets and lease liabilities at commencement date based on the present value of the lease payments over the lease term.&lt;span style="color: rgb(0, 0, 0);"&gt;&#160; We elected not to record leases with an initial term of 12 months or
          less on the balance sheet for all our asset classes.&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;For operating leases, the present value of our lease liabilities may include: (1) rental payments adjusted for inflation or market rates, and (2) lease terms with
        options to renew the lease or options to purchase leased equipment, when it is reasonably certain we will exercise such an option.&#160; The exercise of lease renewal or purchase option is generally at our discretion.&#160; Payments based on a change in an
        index or market rate are not considered in the determination of lease payments for purposes of measuring the related lease liability.&#160; We discount lease payments using our incremental borrowing rate based on information available as of the
        measurement date.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We recognize rent expense related to our operating leases assets on a straight-line basis over the lease term. Rent expense is recorded in operating expenses.&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;For finance leases, our right-of-use assets are amortized on a straight-line basis over the earlier of the useful life of the right-of-use asset or the end of the
        lease term with rent expense recorded to operating expenses.&#160; We adjust the lease liability to reflect lease payments made during the period and interest incurred on the lease liability using the effective interest method. The interest expense
        incurred is recorded in interest expense on the Condensed Consolidated Statements of Operations and Comprehensive Income.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The depreciable life of related leasehold improvements is based on the shorter of the useful life or the lease term.&#160; We also perform interim reviews of our lease
        assets for impairment when evidence exists that the carrying value of an asset group, including a lease asset, may not be recoverable. None of our lease agreements contain contingent rental payments, material residual value guarantees or material
        restrictive covenants.&#160; We have no sublease agreements and no lease agreements in which we are named as a lessor.&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&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-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Impairment of Long-Lived Assets&lt;/span&gt;&lt;/span&gt;.&#160; We evaluate long-lived assets on a quarterly basis to identify events or changes in
        circumstances (&#x201c;triggering events&#x201d;) that indicate the carrying value of certain assets&#160;may&#160;not&#160;be recoverable.&#160; Upon the occurrence of a triggering event, ROU lease assets, property and equipment and definite-lived intangible assets are reviewed
        for impairment and an impairment loss is recorded in the period in which it is determined that the carrying amount of the assets is&#160;not&#160;recoverable.&#160; The determination of recoverability is made based upon the estimated undiscounted future net cash
        flows of assets grouped at the lowest level for which there are identifiable cash flows independent of the cash flows of other groups of assets with such cash flows to be realized over the estimated remaining useful life of the primary asset within
        the asset group.&#160; The Company determined the lowest level of identifiable cash flows that are independent of other asset groups to be primarily at the individual store level.&#160; If the estimated undiscounted future net cash flows for a given store
        are less than the carrying amount of the related store assets, an impairment loss is determined by comparing the estimated fair value with the carrying value of the related assets.&#160; The impairment loss is then allocated across the asset group&#x2019;s
        major classifications which in this case are operating lease assets and property and equipment.&#160; Triggering events at the store level could include material declines in operational and financial performance or planned changes in the use of assets,
        such as store relocation or store closure.&#160; This evaluation requires management to make judgements relating to future cash flows, growth rates and economic and market conditions.&#160; The fair value of an asset group is estimated using a discounted
        cash flow valuation method.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&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-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Fair Value of Financial Instruments&lt;/span&gt;&lt;/span&gt;.&#160; We measure fair value as an exit price, which is the amount that would be
        received to sell an asset or paid to transfer a liability in an orderly transaction between market participants.&#160; As a basis for considering such assumptions, accounting standards establish a three-tier fair value hierarchy, which prioritizes the
        inputs used in the valuation methodologies in measuring fair value:&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&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;"&gt;
                &lt;div&gt;&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td style="width: 36pt; vertical-align: top;"&gt;
                &lt;div style="margin-left: 18pt;"&gt;&#x2022;&lt;/div&gt;
              &lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top;"&gt;
                &lt;div style="text-align: justify;"&gt;Level 1 &#x2013; observable inputs that reflect quoted prices in active markets for identical assets or liabilities.&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
      &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&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;"&gt;
                &lt;div&gt;&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td style="width: 36pt; vertical-align: top;"&gt;
                &lt;div style="margin-left: 18pt;"&gt;&#x2022;&lt;/div&gt;
              &lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top;"&gt;
                &lt;div style="text-align: justify;"&gt;Level 2 &#x2013; significant observable inputs other than quoted prices in active markets for similar assets and liabilities, such as quoted prices for identical or similar assets or liabilities in markets that
                  are not active; or other inputs that are observable or can be corroborated by observable market data.&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;"&gt;
                &lt;div&gt;&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td style="width: 36pt; vertical-align: top;"&gt;
                &lt;div style="margin-left: 18pt;"&gt;&#x2022;&lt;/div&gt;
              &lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top;"&gt;
                &lt;div style="text-align: justify;"&gt;Level 3 &#x2013; significant unobservable inputs reflecting our own assumptions, consistent with reasonably available assumptions made by other market participants.&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
        &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
        &lt;/div&gt;

      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Classification of the financial asset or liability within the hierarchy is determined based on the lowest level input that is significant to the fair value
        measurement.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Our principal financial instruments held consist of T-Bills as of June 30, 2024 and December 31, 2023 which fall under level 1 of the fair value hierarchy; accounts
          receivable - trade, accounts payable - trade, as of June 30, 2024 and December 31, 2023, all of which fall under Level 3 of the fair value hierarchy.&#160; As of June 30, 2024 and December 31, 2023, the carrying values of our financial instruments
          included in our Consolidated Balance Sheets approximated their fair values.&#160; There were no transfers into or out of Levels 1, 2
          and 3 during the six months ended June 30, 2024 and 2023.&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&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-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Income Taxes&lt;/span&gt;&lt;/span&gt;.&#160; Income taxes are estimated for each jurisdiction in which we operate.&#160;&#160;This involves assessing current
        tax exposure together with temporary differences resulting from differing treatment of items for tax and financial statement accounting purposes.&#160;&#160;Any resulting deferred tax assets are evaluated for recoverability based on estimated future taxable
        income.&#160;&#160;To the extent it is more-likely-than-not that all or a portion of a deferred tax asset will not be realized, a valuation allowance is recorded.&#160; Our evaluation regarding whether a valuation allowance is required or should be adjusted also
        considers, among other things, the nature, frequency, and severity of recent losses, forecasts of future profitability and the duration of statutory carryforward periods.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred tax assets and liabilities are measured using the enacted tax rates in effect in the years when those temporary differences are expected to reverse.&#160; The
        effect on deferred taxes from a change in tax rate is recognized through continuing operations in the period that includes the enactment date of the change.&#160; Changes in tax laws and rates could affect recorded deferred tax assets and liabilities in
        the future.&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;A tax benefit from an uncertain tax position may be recognized when it is more-likely-than-not that the position will be sustained upon examination, including
        resolutions of any related appeals or litigation processes, based on the technical merits.&#160; Income tax positions must meet a more-likely-than-not recognition threshold to be recognized.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We recognize tax liabilities for uncertain tax positions and adjust these liabilities when our judgement changes as a result of the evaluation of new information not
        previously available.&#160; Due to the complexity of some of these uncertainties, the ultimate resolution may result in a payment that is materially different from the current estimate of the tax liabilities.&#160; These differences will be reflected as
        increases or decreases to income tax expense and the effective tax rate in the period in which new information becomes available.&#160; We recognize interest and/or penalties related to all tax positions in income tax expense. To the extent that accrued
        interest and penalties do not ultimately become payable, amounts accrued will be reduced and reflected as a reduction of the overall income tax provision in the period that such determination is made.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We may be subject to periodic audits by the Internal Revenue Service and other taxing authorities.&#160; These audits may challenge certain of our tax positions, such as
        the timing and amount of deductions and allocation of taxable income to the various jurisdictions.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&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-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Stock-based compensation&lt;/span&gt;&lt;/span&gt;.&#160; The Company&#x2019;s stock-based compensation relates primarily to restricted stock unit (&#x201c;RSU&#x201d;)
        awards.&#160; Accounting guidance requires measurement and recognition of compensation expense at an amount equal to the grant date fair value.&#160; Compensation expense is recognized for service-based stock awards on a straight-line basis or ratably over
        the requisite service period, based on the closing price of the Company&#x2019;s stock on the date of grant.&#160; The service-based awards typically vest ratably over the requisite service period, provided that the participant is employed on the vesting
        date.&#160; Compensation expense is reduced by actual forfeitures as they occur over the requisite service period of the awards.&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;Performance-based RSUs vest, if at all, upon the Company satisfying certain performance targets.&#160; The Company records compensation expense for awards with a
        performance condition when it is probable that the condition will be achieved.&#160; If the Company determines it is not probable a performance condition will be achieved, no compensation expense is recognized.&#160; If the Company changes its assessment in
        a subsequent period and concludes it is probable a performance condition will be achieved, the Company will recognize compensation expense ratably between the period of the change in assessment through the expected date of satisfying the
        performance condition for vesting.&#160; If the Company subsequently assesses that it is no longer probable that a performance condition will be achieved, the accumulated expense that has been previously recognized will be reversed.&#160; The compensation
        expense ultimately recognized, if any, related to performance-based awards will equal the grant date fair value based on the number of shares for which the performance condition has been satisfied.&#160; We issue shares from authorized shares upon the
        lapsing of vesting restrictions on RSUs.&#160; We do not use cash to settle equity instruments issued under stock-based compensation awards. The payments of the employees&#x2019; tax liability for a portion of the vested shares are satisfied by withholding
        shares with a fair value equal to the tax liability.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&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-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Accounts Receivable - Trade and Expected Credit Losses&lt;/span&gt;&lt;/span&gt;.&#160; Our receivables primarily arise from the sale of merchandise
        to customers that have applied for and been granted credit.&#160; Accounts receivable are stated at amounts due, net of an allowance.&#160; Accounts receivable are generally due within 30 days of invoicing.&#160; We estimate expected credit losses based on
        factors such as the composition of accounts receivable, the age of the accounts, historical bad debt experience, and our evaluation of the financial condition and past collection history of each customer.&#160; Management believes that the historical
        loss information it has compiled is a reasonable base on which to determine expected credit losses for trade receivables held at June 30, 2024, because the composition of the trade receivables at that date is consistent with that used in developing
        the historical credit-loss percentages (i.e., the similar risk characteristics of its customers and its credit practices have not changed significantly over time).&#160; Accordingly, the allowance for expected credit losses at June 30, 2024, December
        31, 2023, and January 1, 2023 each totaled less than $0.1 million.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Other Intangible Assets&lt;/span&gt;&lt;/span&gt;.&#160; Our intangible assets and related accumulated amortization relate to trademarks and
        copyrights that are definite-lived intangibles and are subject to amortization.&#160; The weighted average amortization period is 15 years
        for trademarks and copyrights.&#160; Amortization expense related to other intangible assets was less than $0.01 million during each of
        the six months ended June 30, 2024 and 2023.&#160; Based on the current amount of intangible assets subject to amortization, we estimate amortization expense to be less than $0.01 million annually over the next five years. Our &#x201c;Other intangible assets&#x201d; is fully amortized as of June 30 2024.  &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-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Comprehensive Income&lt;/span&gt;&lt;/span&gt;.&#160; Comprehensive income includes net income and certain other items that are recorded directly to
        stockholders&#x2019; equity.&#160; The Company&#x2019;s only source of other comprehensive income is foreign currency translation adjustments, and those adjustments are presented net of tax.&lt;/div&gt;
</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:NumberOfStores
      contextRef="c20240630"
      decimals="0"
      id="Fact_f91efbe5dc94402e9fc8484961a4da63"
      unitRef="U004">101</us-gaap:NumberOfStores>
    <us-gaap:NumberOfStores
      contextRef="c20240630_StatementGeographicalAxis_US"
      decimals="0"
      id="Fact_1180ad3257974d0b9eb0fe868a0bf7d0"
      unitRef="U004">90</us-gaap:NumberOfStores>
    <us-gaap:NumberOfStores
      contextRef="c20240630_StatementGeographicalAxis_CA"
      decimals="INF"
      id="Fact_6a8d2836b6fd481ab1f505c67e0bc838"
      unitRef="U004">10</us-gaap:NumberOfStores>
    <us-gaap:NumberOfStores
      contextRef="c20240630_StatementGeographicalAxis_ES"
      decimals="INF"
      id="Fact_6e407a3c8d124d56a39dc2a0a6427cfa"
      unitRef="U004">1</us-gaap:NumberOfStores>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="c20240101to20240630"
      id="Text_8f9875ae87af46f3ad28375a68e33c70">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/span&gt;.&#160; The Company considers investments with a maturity when purchased of three months or less to
        be cash equivalents.&#160; All credit card, debit card and electronic transfer transactions that process in less than seven days are classified as cash and cash equivalents.&lt;/div&gt;
</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="c20240101to20240630"
      id="Text_4491e6514c9647dd8ad490c67638839d">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Foreign currency translation and transactions&lt;/span&gt;&lt;/span&gt;.&#160; Foreign currency translation adjustments arise from activities of our
        foreign subsidiaries.&#160; Results of operations are translated into U.S. dollars using the average exchange rates during the period, while assets and liabilities are translated using period-end exchange rates.&#160; Foreign currency translation adjustments
        of assets and liabilities are recorded in stockholders&#x2019; equity and presented net of tax.&#160; Gains and losses resulting from foreign currency translations are reported in the Condensed Consolidated Statements of Operations and Comprehensive Income
        (Loss) under the caption &#x201c;Foreign currency translation adjustments, net of tax&#x201d; for all periods presented.&lt;/div&gt;
</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="c20240101to20240630"
      id="Text_3ba8d996c79d4af78101a51a4c044b1b">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Revenue Recognition.&lt;/span&gt;&lt;/span&gt;&#160; Our revenue is earned from sales of merchandise and generally occurs via three methods: (1) at
        the store counter, (2) via web sales, and (3) sales of product directly to commercial customers. We recognize revenue when we satisfy the performance obligation of transferring control of product merchandise over to a customer. At the store
        counter, our performance obligation is met and revenue is recognized when a sales transaction occurs with a customer. When merchandise is shipped to a customer, our performance obligation is met, and revenue is recognized when control passes to the
        customer. Shipping terms are normally free on board (&#x201c;FOB&#x201d;) shipping point, and control passes when the merchandise is shipped to the customer. Sales tax and comparable foreign tax are excluded from net sales, while shipping charged to our
        customers is included in net sales. Net sales are based on the amount of consideration that we expect to receive, reduced by estimates for future merchandise returns.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The sales return allowance is based each year on historical customer return behavior and other known factors and reduces net sales and cost of sales, accordingly. The
        sales return allowance included in accrued expense and other liabilities was $0.1 million, $0.1 million, and $0.2 million as of June 30, 2024, December 31,
        2023, and January 1, 2023. The estimated value of merchandise expected to be returned included in other current assets was less than $0.1
        million as of June 30, 2024, December 31, 2023, and January 1, 2023.&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;We record a gift card liability for the unfulfilled performance obligation on the date we issue a gift card to a customer. We record revenue and reduce the gift card
        liability as the customer redeems the gift card. In addition, for gift card breakage, we recognize a proportionate amount for the expected unredeemed gift cards over the expected customer redemption period, which is one year. As of June 30, 2024, December 31, 2023 and January 1, 2023, our gift card liability, included in accrued expenses and other liabilities, was $0.1 million, $0.3 million and $0.3 million, respectively. We recognized gift card revenue of $0.2 million for the six months ended June 30, 2024 and 2023.&lt;br/&gt;
      &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;For the three months ended June 30, 2024 and 2023, we recognized $0.1
        million and $0.2 million respectively in net sales associated with gift cards.&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;For the six months ended June 30, 2024 and 2023, we recognized $0.2
        million and $0.3 million respectively in net sales associated with gift cards.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&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-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Disaggregated Revenue.&lt;/span&gt;&#160; &lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt; color: #000000;"&gt; In the following table, revenue for the three and six months ended June 30,
        2024 and 2023 is disaggregated by geographic areas as follows:&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
      &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" 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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended 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" rowspan="1" style="text-align: center; font-weight: bold; vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" rowspan="1" style="text-align: center; vertical-align: bottom; font-weight: bold; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;Six Months Ended June 30,&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; 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; white-space: nowrap;" valign="bottom"&gt;&lt;span style="font-style: italic;"&gt;(in thousands)&lt;/span&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', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2024
              &lt;/div&gt;
            &lt;/td&gt;

    &lt;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', Times, serif; font-size: 10pt; font-weight: bold;"&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" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="text-align: center; vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;span style="font-weight: bold;"&gt;2024 &lt;/span&gt;&lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="text-align: center; vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;span style="font-weight: bold;"&gt;2023 &lt;/span&gt;&lt;/td&gt;

    &lt;td colspan="1" rowspan="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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: 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', Times, serif; 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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15,300&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="1" style="text-align: 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; white-space: nowrap;" 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;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15,566&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="1" style="text-align: 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; white-space: nowrap;" 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;$&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;32,386 &lt;/td&gt;

    &lt;td colspan="1" style="text-align: 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; white-space: nowrap;" 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;$&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;33,665 &lt;/td&gt;

    &lt;td colspan="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 style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Canada&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,737&lt;/div&gt;
            &lt;/td&gt;

    &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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,591&lt;/div&gt;
            &lt;/td&gt;

    &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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;3,633
            &lt;/td&gt;

    &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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;3,498
            &lt;/td&gt;

    &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: 52%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;Other &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; 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" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;249 &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; 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" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;325 &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; 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" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;542 &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; 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" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;679 &lt;/td&gt;

    &lt;td colspan="1" rowspan="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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;"&gt;Net sales&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;17,286&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; white-space: nowrap;" 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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;17,482&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="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;36,561 &lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; 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="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;37,842 &lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; 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="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Geographic sales information is based on the location of the customer.&#160; As a percentage of our consolidated net sales, excluding Canada, our other international net
        sales were less than 2.0% for the three and six months ended June 30, 2024, and 2023 respectively.&lt;/div&gt;
</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss
      contextRef="c20240630"
      decimals="-5"
      id="Fact_fba9107499d04cef8748a57342d4fb52"
      unitRef="U002">100000</us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss>
    <us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss
      contextRef="c20231231"
      decimals="-5"
      id="Fact_267ba8e671e14391b61ec401a2a59ec4"
      unitRef="U002">100000</us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss>
    <us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss
      contextRef="c20221231"
      decimals="-5"
      id="Fact_8576018c8d3d4e96afea0aceb58a2412"
      unitRef="U002">200000</us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss>
    <tlfa:InventoryMerchandiseExpectedToBeReturned
      contextRef="c20240630"
      decimals="-5"
      id="Fact_73fb099e68f046d08a360f96290afb5e"
      unitRef="U002">100000</tlfa:InventoryMerchandiseExpectedToBeReturned>
    <tlfa:InventoryMerchandiseExpectedToBeReturned
      contextRef="c20221231"
      decimals="-5"
      id="Fact_06c23c73f5734205895c2ca6a0ed362f"
      unitRef="U002">100000</tlfa:InventoryMerchandiseExpectedToBeReturned>
    <tlfa:InventoryMerchandiseExpectedToBeReturned
      contextRef="c20231231"
      decimals="-5"
      id="Fact_00138dfd9506421193165924f9f5b771"
      unitRef="U002">100000</tlfa:InventoryMerchandiseExpectedToBeReturned>
    <tlfa:GiftCardRedemptionPeriod
      contextRef="c20240101to20240630"
      id="Fact_fcf4c193821349719d7811751412bc6a">P1Y</tlfa:GiftCardRedemptionPeriod>
    <us-gaap:ContractWithCustomerLiability
      contextRef="c20240630_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember"
      decimals="-5"
      id="Fact_4dc8a2894cf646568ea6d762389dded4"
      unitRef="U002">100000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="c20231231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember"
      decimals="-5"
      id="Fact_119c4754bea0401f903b320c5908a7f9"
      unitRef="U002">300000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="c20221231_BalanceSheetLocationAxis_AccountsPayableAndAccruedLiabilitiesMember"
      decimals="-5"
      id="Fact_e7e05218d11b4431b057ed7a7c78316f"
      unitRef="U002">300000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="c20240101to20240630"
      decimals="-5"
      id="Fact_c84f94b9486b4805a3ca77bf1233d784"
      unitRef="U002">200000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="c20230101to20230630"
      decimals="-5"
      id="Fact_7a55e697d08c4aecb66eaf758b7ba261"
      unitRef="U002">200000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:DeferredRevenueRevenueRecognized1
      contextRef="c20240401to20240630"
      decimals="-5"
      id="Fact_e07212b124964757b4036cf1c81f8659"
      unitRef="U002">100000</us-gaap:DeferredRevenueRevenueRecognized1>
    <us-gaap:DeferredRevenueRevenueRecognized1
      contextRef="c20230401to20230630"
      decimals="-5"
      id="Fact_0c5c415e7bda4de0a17c3ac522f79c9c"
      unitRef="U002">200000</us-gaap:DeferredRevenueRevenueRecognized1>
    <us-gaap:DeferredRevenueRevenueRecognized1
      contextRef="c20240101to20240630"
      decimals="-5"
      id="Fact_b7f6dc9329d24f04a4750a2e71a0ee61"
      unitRef="U002">200000</us-gaap:DeferredRevenueRevenueRecognized1>
    <us-gaap:DeferredRevenueRevenueRecognized1
      contextRef="c20230101to20230630"
      decimals="-5"
      id="Fact_665a7a9866224f608d3e139dc633d5ec"
      unitRef="U002">300000</us-gaap:DeferredRevenueRevenueRecognized1>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="c20240101to20240630"
      id="Text_95f678f8a7f44cd08f32a8da83e5d5c7">&lt;span style="font-family: 'Times New Roman'; font-size: 10pt; color: #000000;"&gt; In the following table, revenue for the three and six months ended June 30,
        2024 and 2023 is disaggregated by geographic areas as follows:&lt;/span&gt;
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
      &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" 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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended 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" rowspan="1" style="text-align: center; font-weight: bold; vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" rowspan="1" style="text-align: center; vertical-align: bottom; font-weight: bold; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;Six Months Ended June 30,&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="font-weight: bold; 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; white-space: nowrap;" valign="bottom"&gt;&lt;span style="font-style: italic;"&gt;(in thousands)&lt;/span&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', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2024
              &lt;/div&gt;
            &lt;/td&gt;

    &lt;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', Times, serif; font-size: 10pt; font-weight: bold;"&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" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="text-align: center; vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;span style="font-weight: bold;"&gt;2024 &lt;/span&gt;&lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="text-align: center; vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&lt;span style="font-weight: bold;"&gt;2023 &lt;/span&gt;&lt;/td&gt;

    &lt;td colspan="1" rowspan="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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: 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', Times, serif; 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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15,300&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="1" style="text-align: 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; white-space: nowrap;" 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;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; 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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15,566&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="1" style="text-align: 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; white-space: nowrap;" 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;$&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;32,386 &lt;/td&gt;

    &lt;td colspan="1" style="text-align: 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; white-space: nowrap;" 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;$&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;33,665 &lt;/td&gt;

    &lt;td colspan="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 style="text-align: left; text-indent: -7.2pt; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Canada&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,737&lt;/div&gt;
            &lt;/td&gt;

    &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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,591&lt;/div&gt;
            &lt;/td&gt;

    &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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;3,633
            &lt;/td&gt;

    &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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;3,498
            &lt;/td&gt;

    &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: 52%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;Other &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; 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" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;249 &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; 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" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;325 &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; 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" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;542 &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; 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" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;679 &lt;/td&gt;

    &lt;td colspan="1" rowspan="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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;"&gt;Net sales&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;17,286&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; white-space: nowrap;" 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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;17,482&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="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;36,561 &lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; 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="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;$&lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;37,842 &lt;/td&gt;

    &lt;td colspan="1" style="font-weight: bold; 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:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240401to20240630_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_365e30eded0e413cb9ff8d0f2d197344"
      unitRef="U002">15300000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230401to20230630_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_c37fd0e3ea3940d3b99aa0390b8f2d52"
      unitRef="U002">15566000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240630_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_6e37c9b6bc7a48d587bda2157e905ac2"
      unitRef="U002">32386000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230630_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_d9c07d8e8b8e4af8a4891b3d46bddf0a"
      unitRef="U002">33665000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240401to20240630_StatementGeographicalAxis_CA"
      decimals="-3"
      id="Fact_fae00e2d883f4ad1bab0a783088c97fd"
      unitRef="U002">1737000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230401to20230630_StatementGeographicalAxis_CA"
      decimals="-3"
      id="Fact_3b74801aa757475d96b6d3024368a28e"
      unitRef="U002">1591000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240630_StatementGeographicalAxis_CA"
      decimals="-3"
      id="Fact_841ca9a875f24ff692d21f9754a14ff3"
      unitRef="U002">3633000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230630_StatementGeographicalAxis_CA"
      decimals="-3"
      id="Fact_86cba012d2624f30b9e328dde0b512c0"
      unitRef="U002">3498000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240401to20240630_StatementGeographicalAxis_OtherCountriesMember"
      decimals="-3"
      id="Fact_94295ce9ae814383894ef4412b786dd9"
      unitRef="U002">249000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230401to20230630_StatementGeographicalAxis_OtherCountriesMember"
      decimals="-3"
      id="Fact_a26b6e64a30e447d8a054393625f04f5"
      unitRef="U002">325000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240630_StatementGeographicalAxis_OtherCountriesMember"
      decimals="-3"
      id="Fact_df647145f0fd4cd08e644b00a82939ce"
      unitRef="U002">542000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230630_StatementGeographicalAxis_OtherCountriesMember"
      decimals="-3"
      id="Fact_0381f7c1a5494b1691d783019182294c"
      unitRef="U002">679000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240401to20240630"
      decimals="-3"
      id="Fact_8e32e3950a3c41769ee063e7b661b001"
      unitRef="U002">17286000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_412616607b694f918be344669212d2a7"
      unitRef="U002">17482000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_a69f3604ad4d488c812fe9ccd89c6d9a"
      unitRef="U002">36561000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_37df6b73c17b4e15961d42c31c2e0868"
      unitRef="U002">37842000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20230401to20230630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_RangeAxis_MaximumMember_StatementGeographicalAxis_AllOtherCountriesMember"
      decimals="3"
      id="Fact_f3972353d8b646828d8eab108be8015a"
      unitRef="U006">0.02</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20240401to20240630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_RangeAxis_MaximumMember_StatementGeographicalAxis_AllOtherCountriesMember"
      decimals="3"
      id="Fact_572f4e930b504952a5b2d2db9989d1a4"
      unitRef="U006">0.02</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20240101to20240630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_RangeAxis_MaximumMember_StatementGeographicalAxis_AllOtherCountriesMember"
      decimals="3"
      id="Fact_1738efd89684429fbc553369f2fd17a2"
      unitRef="U006">0.02</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20230101to20230630_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_RangeAxis_MaximumMember_StatementGeographicalAxis_AllOtherCountriesMember"
      decimals="3"
      id="Fact_16cbeab185c64ae68b1496215526d1f1"
      unitRef="U006">0.02</us-gaap:ConcentrationRiskPercentage1>
    <tlfa:RevenueRecognitionDiscountsPolicyTextBlock
      contextRef="c20240101to20240630"
      id="Text_a6b788d6a6ef49139bea140c785437d4">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Discounts&lt;/span&gt;&lt;/span&gt;.&#160; We offer six
        classes of customer discounts:&#160; 1) Retail, 2) Military/First Responder, 3) Business, 4) Commercial, 5) Commercial Pro, and 6) Employees. There are no other classes of discounts, and any discounts given will fall into one of these six categories.&#160; Such discounts are not deemed to be variable consideration&#160; nor convey a material right to these customers since the discounted pricing
        they receive in a discount class is not incremental to others within the same class and there is no retrospective impact of such discounts.&#160; As a result, sales are reported after deduction of discounts at the point of sale.&#160; We do not pay slotting
        fees or make other payments to resellers.&lt;/div&gt;
</tlfa:RevenueRecognitionDiscountsPolicyTextBlock>
    <tlfa:NumberOfClassesOfCustomerDiscounts
      contextRef="c20240101to20240630"
      decimals="INF"
      id="Fact_70ee019f185c49cfbe370e62bf0be9f9"
      unitRef="U007">6</tlfa:NumberOfClassesOfCustomerDiscounts>
    <tlfa:NumberOfClassesOfCustomerDiscounts
      contextRef="c20240101to20240630"
      decimals="INF"
      id="Fact_84b34301851945e4a8d845b3b0a9f573"
      unitRef="U007">6</tlfa:NumberOfClassesOfCustomerDiscounts>
    <us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock
      contextRef="c20240101to20240630"
      id="Text_49fa23af0ba24397bcf2f832ad5e1fac">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Operating&lt;/span&gt;&lt;/span&gt;&lt;span style="text-decoration: underline;"&gt;&#160;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;expenses&lt;/span&gt;&lt;/span&gt;.&#160; Operating expenses include all selling,
        general and administrative costs, including wages and benefits, rent and occupancy costs, depreciation, advertising, store operating expenses, outbound freight charges (to ship merchandise to customers), and corporate office costs.&lt;/div&gt;
</us-gaap:SellingGeneralAndAdministrativeExpensesPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="c20240101to20240630"
      id="Text_254677ffca6d42ab96ab85c61048f1f3">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Property and equipment, net of accumulated depreciation&lt;/span&gt;&lt;/span&gt;.&#160; Property and equipment are stated at cost.&#160; Depreciation is
        computed using the straight-line method over the estimated useful lives of the assets, which are &lt;span style="-sec-ix-hidden:Fact_f6f6e0f9d99e4a14a6efa773cccc6372"&gt;three&lt;/span&gt; to ten years for equipment and machinery, &lt;span style="-sec-ix-hidden:Fact_4b51686560af46539f10d61548e34c47"&gt;seven&lt;/span&gt;
        to fifteen years for furniture and fixtures, five years for vehicles, and forty years for buildings and related improvements.&#160; Leasehold
        improvements are amortized over the lesser of the life of the lease or the useful life of the asset.&#160; Repairs and maintenance costs are expensed as incurred but are capitalized if extend the life of the assets.&lt;/div&gt;
</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20240630_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember_RangeAxis_MaximumMember"
      id="Fact_f4521bf3364d4326aebf6c3040a95e9c">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20240630_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndFixturesMember_RangeAxis_MaximumMember"
      id="Fact_01ccf03a85df4cc9ab83170fc54b68c9">P15Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20240630_PropertyPlantAndEquipmentByTypeAxis_VehiclesMember"
      id="Fact_3d576e15d7d9445ea3fbbb05d79641cb">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20240630_PropertyPlantAndEquipmentByTypeAxis_BuildingAndBuildingImprovementsMember"
      id="Fact_4b78fac008c94149ac7d86bc15532282">P40Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="c20240101to20240630"
      id="Text_a368177790cb433bad720854c423e636">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Inventory&lt;/span&gt;&lt;/span&gt;.&#160; Inventory is stated at the lower of first-in, first-out (&#x201c;FIFO&#x201d;) cost or net realizable value, and FIFO
        layers are maintained at the location level. Finished goods held for sale include the cost of merchandise purchases, the costs to bring the merchandise to our Texas distribution center, warehousing and handling expenditures, and distributing and
        delivering merchandise to our stores.&#160; These costs include depreciation of long-lived assets utilized in acquiring, warehousing and distributing inventory. Manufacturing inventory including raw materials and work-in-process is valued on a first in,
        first out basis using full absorption accounting which includes material, labor, and other applicable manufacturing overhead.&#160; Carrying values of inventory are analyzed and, to the extent that the cost of inventory exceeds the net realizable value,
        provisions are made to reduce the carrying amount of the inventory.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;We regularly review all inventory items to determine if there are (i) damaged goods (e.g., for leather, excessive scars or damage from ultra-violet (&#x201c;UV&#x201d;) light), (ii)
        items that need to be removed from our product line (e.g., slow-moving items, inability of a supplier to provide items of acceptable quality or quantity, and to maintain freshness in the product line) and (iii) pricing actions that need to be taken
        to adequately value our inventory at the lower of cost or net realizable value. &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Since the determination of net realizable value of inventory involves both estimation and judgement with regard to market values and reasonable costs to sell,
        differences in these estimates could result in ultimate valuations that differ from the recorded asset. &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The majority of inventory purchases and commitments are made in U.S. dollars in order to limit the Company&#x2019;s exposure to foreign currency fluctuations.&#160; Goods shipped
        to us are recorded as inventory owned by us when the risk of loss shifts to us from the supplier.&lt;span style="color: rgb(0, 0, 0);"&gt; &#160;&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&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;Inventory is physically counted partially during each quarter and fully at year-end in the Texas distribution center.&#160; At the store level,
        inventory is partially counted each quarter for high value items and fully at year-end. &lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Inventory is then adjusted in our accounting system to reflect actual count results.&#160;&#160;&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); 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: rgb(0, 0, 0); font-weight: bold;"&gt;June 30, 2024&lt;/div&gt;
            &lt;/td&gt;

    &lt;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: rgb(0, 0, 0); font-weight: bold;"&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;" valign="bottom"&gt;
              &lt;div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);"&gt;On hand:&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 style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);"&gt;Finished goods held for sale&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 style="color: rgb(0, 0, 0);"&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: rgb(0, 0, 0);"&gt;32,640&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="1" style="text-align: 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 style="color: rgb(0, 0, 0);"&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: rgb(0, 0, 0);"&gt;33,350&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="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-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);"&gt;Raw materials and work in process&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 style="color: rgb(0, 0, 0);"&gt;1,358&lt;/div&gt;
            &lt;/td&gt;

    &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 style="color: rgb(0, 0, 0);"&gt;1,774&lt;/div&gt;
            &lt;/td&gt;

    &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 style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);"&gt;Inventory in transit&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 style="color: rgb(0, 0, 0);"&gt;3,193&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 style="color: rgb(0, 0, 0);"&gt;2,869&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 style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-weight: bold;"&gt;TOTAL&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 style="color: rgb(0, 0, 0); font-weight: bold;"&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: rgb(0, 0, 0); font-weight: bold;"&gt;37,191&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 style="color: rgb(0, 0, 0); font-weight: bold;"&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: rgb(0, 0, 0); font-weight: bold;"&gt;37,993&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:InventoryPolicyTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="c20240101to20240630"
      id="Text_990ec3ab0bdb4cb283f52a861f1f341f">&lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Inventory is then adjusted in our accounting system to reflect actual count results.&#160;&#160;&lt;/span&gt;
&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&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; white-space: nowrap;" valign="bottom"&gt;
              &lt;div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); 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: rgb(0, 0, 0); font-weight: bold;"&gt;June 30, 2024&lt;/div&gt;
            &lt;/td&gt;

    &lt;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: rgb(0, 0, 0); font-weight: bold;"&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;" valign="bottom"&gt;
              &lt;div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);"&gt;On hand:&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 style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);"&gt;Finished goods held for sale&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 style="color: rgb(0, 0, 0);"&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: rgb(0, 0, 0);"&gt;32,640&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="1" style="text-align: 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 style="color: rgb(0, 0, 0);"&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: rgb(0, 0, 0);"&gt;33,350&lt;/div&gt;
            &lt;/td&gt;

    &lt;td colspan="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-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);"&gt;Raw materials and work in process&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 style="color: rgb(0, 0, 0);"&gt;1,358&lt;/div&gt;
            &lt;/td&gt;

    &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 style="color: rgb(0, 0, 0);"&gt;1,774&lt;/div&gt;
            &lt;/td&gt;

    &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 style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);"&gt;Inventory in transit&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 style="color: rgb(0, 0, 0);"&gt;3,193&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 style="color: rgb(0, 0, 0);"&gt;2,869&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 style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-weight: bold;"&gt;TOTAL&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 style="color: rgb(0, 0, 0); font-weight: bold;"&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: rgb(0, 0, 0); font-weight: bold;"&gt;37,191&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 style="color: rgb(0, 0, 0); font-weight: bold;"&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: rgb(0, 0, 0); font-weight: bold;"&gt;37,993&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:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryFinishedGoods
      contextRef="c20240630"
      decimals="-3"
      id="Fact_0db2bd3b176c48fe8d35488136dca9e2"
      unitRef="U002">32640000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="c20231231"
      decimals="-3"
      id="Fact_d3ec714ee1ac47339a1dc07f3a0deed2"
      unitRef="U002">33350000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryWorkInProcessAndRawMaterials
      contextRef="c20240630"
      decimals="-3"
      id="Fact_8bb7a2ec1526497a89d0f10db93a5c51"
      unitRef="U002">1358000</us-gaap:InventoryWorkInProcessAndRawMaterials>
    <us-gaap:InventoryWorkInProcessAndRawMaterials
      contextRef="c20231231"
      decimals="-3"
      id="Fact_d2ce46355bae4e3bb90b83d15ac8f326"
      unitRef="U002">1774000</us-gaap:InventoryWorkInProcessAndRawMaterials>
    <us-gaap:OtherInventoryInTransit
      contextRef="c20240630"
      decimals="-3"
      id="Fact_514d2bed8bcc4c57bb4056baaa2ad869"
      unitRef="U002">3193000</us-gaap:OtherInventoryInTransit>
    <us-gaap:OtherInventoryInTransit
      contextRef="c20231231"
      decimals="-3"
      id="Fact_f17cff240a1b4fee88ad086d8e3d20c9"
      unitRef="U002">2869000</us-gaap:OtherInventoryInTransit>
    <us-gaap:InventoryNet
      contextRef="c20240630"
      decimals="-3"
      id="Fact_c92ccb9febcb434d861876cc15015e61"
      unitRef="U002">37191000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_940b48ef087c4d30b3c72a35ad1de0ea"
      unitRef="U002">37993000</us-gaap:InventoryNet>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="c20240101to20240630"
      id="Text_901331bdc6cf42a4980504556d7bfd14">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Leases&lt;/span&gt;&lt;/span&gt;.&#160; We lease real estate for our retail store locations and may lease warehouse equipment for our Texas
        distribution center under long-term lease agreements; &#160; however, as of the end of June 30, 2023, we acquired the warehouse equipment and it is now a part of our fixed assets. We determine if an arrangement is a lease at inception and recognize
        right-of-use (&#x201c;ROU&#x201d;) assets and lease liabilities at commencement date based on the present value of the lease payments over the lease term.&lt;span style="color: rgb(0, 0, 0);"&gt;&#160; We elected not to record leases with an initial term of 12 months or
          less on the balance sheet for all our asset classes.&lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;For operating leases, the present value of our lease liabilities may include: (1) rental payments adjusted for inflation or market rates, and (2) lease terms with
        options to renew the lease or options to purchase leased equipment, when it is reasonably certain we will exercise such an option.&#160; The exercise of lease renewal or purchase option is generally at our discretion.&#160; Payments based on a change in an
        index or market rate are not considered in the determination of lease payments for purposes of measuring the related lease liability.&#160; We discount lease payments using our incremental borrowing rate based on information available as of the
        measurement date.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We recognize rent expense related to our operating leases assets on a straight-line basis over the lease term. Rent expense is recorded in operating expenses.&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;For finance leases, our right-of-use assets are amortized on a straight-line basis over the earlier of the useful life of the right-of-use asset or the end of the
        lease term with rent expense recorded to operating expenses.&#160; We adjust the lease liability to reflect lease payments made during the period and interest incurred on the lease liability using the effective interest method. The interest expense
        incurred is recorded in interest expense on the Condensed Consolidated Statements of Operations and Comprehensive Income.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The depreciable life of related leasehold improvements is based on the shorter of the useful life or the lease term.&#160; We also perform interim reviews of our lease
        assets for impairment when evidence exists that the carrying value of an asset group, including a lease asset, may not be recoverable. None of our lease agreements contain contingent rental payments, material residual value guarantees or material
        restrictive covenants.&#160; We have no sublease agreements and no lease agreements in which we are named as a lessor.&lt;br/&gt;
      &lt;/div&gt;
</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock
      contextRef="c20240101to20240630"
      id="Text_ebeff7a2f6b945f89eacb4a31d24eec1">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Impairment of Long-Lived Assets&lt;/span&gt;&lt;/span&gt;.&#160; We evaluate long-lived assets on a quarterly basis to identify events or changes in
        circumstances (&#x201c;triggering events&#x201d;) that indicate the carrying value of certain assets&#160;may&#160;not&#160;be recoverable.&#160; Upon the occurrence of a triggering event, ROU lease assets, property and equipment and definite-lived intangible assets are reviewed
        for impairment and an impairment loss is recorded in the period in which it is determined that the carrying amount of the assets is&#160;not&#160;recoverable.&#160; The determination of recoverability is made based upon the estimated undiscounted future net cash
        flows of assets grouped at the lowest level for which there are identifiable cash flows independent of the cash flows of other groups of assets with such cash flows to be realized over the estimated remaining useful life of the primary asset within
        the asset group.&#160; The Company determined the lowest level of identifiable cash flows that are independent of other asset groups to be primarily at the individual store level.&#160; If the estimated undiscounted future net cash flows for a given store
        are less than the carrying amount of the related store assets, an impairment loss is determined by comparing the estimated fair value with the carrying value of the related assets.&#160; The impairment loss is then allocated across the asset group&#x2019;s
        major classifications which in this case are operating lease assets and property and equipment.&#160; Triggering events at the store level could include material declines in operational and financial performance or planned changes in the use of assets,
        such as store relocation or store closure.&#160; This evaluation requires management to make judgements relating to future cash flows, growth rates and economic and market conditions.&#160; The fair value of an asset group is estimated using a discounted
        cash flow valuation method.&lt;/div&gt;
</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy
      contextRef="c20240101to20240630"
      id="Text_923b48d0868141ba99975bf649556eaa">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Fair Value of Financial Instruments&lt;/span&gt;&lt;/span&gt;.&#160; We measure fair value as an exit price, which is the amount that would be
        received to sell an asset or paid to transfer a liability in an orderly transaction between market participants.&#160; As a basis for considering such assumptions, accounting standards establish a three-tier fair value hierarchy, which prioritizes the
        inputs used in the valuation methodologies in measuring fair value:&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&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;"&gt;
                &lt;div&gt;&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td style="width: 36pt; vertical-align: top;"&gt;
                &lt;div style="margin-left: 18pt;"&gt;&#x2022;&lt;/div&gt;
              &lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top;"&gt;
                &lt;div style="text-align: justify;"&gt;Level 1 &#x2013; observable inputs that reflect quoted prices in active markets for identical assets or liabilities.&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
      &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&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;"&gt;
                &lt;div&gt;&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td style="width: 36pt; vertical-align: top;"&gt;
                &lt;div style="margin-left: 18pt;"&gt;&#x2022;&lt;/div&gt;
              &lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top;"&gt;
                &lt;div style="text-align: justify;"&gt;Level 2 &#x2013; significant observable inputs other than quoted prices in active markets for similar assets and liabilities, such as quoted prices for identical or similar assets or liabilities in markets that
                  are not active; or other inputs that are observable or can be corroborated by observable market data.&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;"&gt;
                &lt;div&gt;&lt;br/&gt;
                &lt;/div&gt;
              &lt;/td&gt;

    &lt;td style="width: 36pt; vertical-align: top;"&gt;
                &lt;div style="margin-left: 18pt;"&gt;&#x2022;&lt;/div&gt;
              &lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top;"&gt;
                &lt;div style="text-align: justify;"&gt;Level 3 &#x2013; significant unobservable inputs reflecting our own assumptions, consistent with reasonably available assumptions made by other market participants.&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
        &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
        &lt;/div&gt;

      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Classification of the financial asset or liability within the hierarchy is determined based on the lowest level input that is significant to the fair value
        measurement.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Our principal financial instruments held consist of T-Bills as of June 30, 2024 and December 31, 2023 which fall under level 1 of the fair value hierarchy; accounts
          receivable - trade, accounts payable - trade, as of June 30, 2024 and December 31, 2023, all of which fall under Level 3 of the fair value hierarchy.&#160; As of June 30, 2024 and December 31, 2023, the carrying values of our financial instruments
          included in our Consolidated Balance Sheets approximated their fair values.&#160; There were no transfers into or out of Levels 1, 2
          and 3 during the six months ended June 30, 2024 and 2023.&lt;/div&gt;
</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
      contextRef="c20230101to20230630"
      decimals="0"
      id="Fact_b024436dacb44280b30df8070222d540"
      unitRef="U002">0</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
      contextRef="c20240101to20240630"
      decimals="0"
      id="Fact_13d7f6d81a99418488a814980fc71d4f"
      unitRef="U002">0</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="c20240101to20240630"
      id="Text_f7d697c35bd24078803a3f7d6ab1f36c">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Income Taxes&lt;/span&gt;&lt;/span&gt;.&#160; Income taxes are estimated for each jurisdiction in which we operate.&#160;&#160;This involves assessing current
        tax exposure together with temporary differences resulting from differing treatment of items for tax and financial statement accounting purposes.&#160;&#160;Any resulting deferred tax assets are evaluated for recoverability based on estimated future taxable
        income.&#160;&#160;To the extent it is more-likely-than-not that all or a portion of a deferred tax asset will not be realized, a valuation allowance is recorded.&#160; Our evaluation regarding whether a valuation allowance is required or should be adjusted also
        considers, among other things, the nature, frequency, and severity of recent losses, forecasts of future profitability and the duration of statutory carryforward periods.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred tax assets and liabilities are measured using the enacted tax rates in effect in the years when those temporary differences are expected to reverse.&#160; The
        effect on deferred taxes from a change in tax rate is recognized through continuing operations in the period that includes the enactment date of the change.&#160; Changes in tax laws and rates could affect recorded deferred tax assets and liabilities in
        the future.&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;A tax benefit from an uncertain tax position may be recognized when it is more-likely-than-not that the position will be sustained upon examination, including
        resolutions of any related appeals or litigation processes, based on the technical merits.&#160; Income tax positions must meet a more-likely-than-not recognition threshold to be recognized.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We recognize tax liabilities for uncertain tax positions and adjust these liabilities when our judgement changes as a result of the evaluation of new information not
        previously available.&#160; Due to the complexity of some of these uncertainties, the ultimate resolution may result in a payment that is materially different from the current estimate of the tax liabilities.&#160; These differences will be reflected as
        increases or decreases to income tax expense and the effective tax rate in the period in which new information becomes available.&#160; We recognize interest and/or penalties related to all tax positions in income tax expense. To the extent that accrued
        interest and penalties do not ultimately become payable, amounts accrued will be reduced and reflected as a reduction of the overall income tax provision in the period that such determination is made.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We may be subject to periodic audits by the Internal Revenue Service and other taxing authorities.&#160; These audits may challenge certain of our tax positions, such as
        the timing and amount of deductions and allocation of taxable income to the various jurisdictions.&lt;/div&gt;
</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="c20240101to20240630"
      id="Text_8aa5b4b234694e06aa16da119be56771">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Stock-based compensation&lt;/span&gt;&lt;/span&gt;.&#160; The Company&#x2019;s stock-based compensation relates primarily to restricted stock unit (&#x201c;RSU&#x201d;)
        awards.&#160; Accounting guidance requires measurement and recognition of compensation expense at an amount equal to the grant date fair value.&#160; Compensation expense is recognized for service-based stock awards on a straight-line basis or ratably over
        the requisite service period, based on the closing price of the Company&#x2019;s stock on the date of grant.&#160; The service-based awards typically vest ratably over the requisite service period, provided that the participant is employed on the vesting
        date.&#160; Compensation expense is reduced by actual forfeitures as they occur over the requisite service period of the awards.&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;Performance-based RSUs vest, if at all, upon the Company satisfying certain performance targets.&#160; The Company records compensation expense for awards with a
        performance condition when it is probable that the condition will be achieved.&#160; If the Company determines it is not probable a performance condition will be achieved, no compensation expense is recognized.&#160; If the Company changes its assessment in
        a subsequent period and concludes it is probable a performance condition will be achieved, the Company will recognize compensation expense ratably between the period of the change in assessment through the expected date of satisfying the
        performance condition for vesting.&#160; If the Company subsequently assesses that it is no longer probable that a performance condition will be achieved, the accumulated expense that has been previously recognized will be reversed.&#160; The compensation
        expense ultimately recognized, if any, related to performance-based awards will equal the grant date fair value based on the number of shares for which the performance condition has been satisfied.&#160; We issue shares from authorized shares upon the
        lapsing of vesting restrictions on RSUs.&#160; We do not use cash to settle equity instruments issued under stock-based compensation awards. The payments of the employees&#x2019; tax liability for a portion of the vested shares are satisfied by withholding
        shares with a fair value equal to the tax liability.&lt;/div&gt;
</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:CreditLossFinancialInstrumentPolicyTextBlock
      contextRef="c20240101to20240630"
      id="Text_0fe8693fd2474d8facae9f57264b2a65">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Accounts Receivable - Trade and Expected Credit Losses&lt;/span&gt;&lt;/span&gt;.&#160; Our receivables primarily arise from the sale of merchandise
        to customers that have applied for and been granted credit.&#160; Accounts receivable are stated at amounts due, net of an allowance.&#160; Accounts receivable are generally due within 30 days of invoicing.&#160; We estimate expected credit losses based on
        factors such as the composition of accounts receivable, the age of the accounts, historical bad debt experience, and our evaluation of the financial condition and past collection history of each customer.&#160; Management believes that the historical
        loss information it has compiled is a reasonable base on which to determine expected credit losses for trade receivables held at June 30, 2024, because the composition of the trade receivables at that date is consistent with that used in developing
        the historical credit-loss percentages (i.e., the similar risk characteristics of its customers and its credit practices have not changed significantly over time).&#160; Accordingly, the allowance for expected credit losses at June 30, 2024, December
        31, 2023, and January 1, 2023 each totaled less than $0.1 million.&lt;/div&gt;
</us-gaap:CreditLossFinancialInstrumentPolicyTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="c20221231"
      decimals="-5"
      id="Fact_a39c832e2f6140ffbf7a089bb48e3fb6"
      unitRef="U002">100000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="c20240630"
      decimals="-5"
      id="Fact_8160f922274e4a36851be774ca419ee5"
      unitRef="U002">100000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="c20231231"
      decimals="-5"
      id="Fact_1fcc0a3670e34649a2b61f1fe3ce255a"
      unitRef="U002">100000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:IntangibleAssetsFiniteLivedPolicy
      contextRef="c20240101to20240630"
      id="Text_aea61aea53a244ec8ec68e52e0ab7446">
&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Other Intangible Assets&lt;/span&gt;&lt;/span&gt;.&#160; Our intangible assets and related accumulated amortization relate to trademarks and
        copyrights that are definite-lived intangibles and are subject to amortization.&#160; The weighted average amortization period is 15 years
        for trademarks and copyrights.&#160; Amortization expense related to other intangible assets was less than $0.01 million during each of
        the six months ended June 30, 2024 and 2023.&#160; Based on the current amount of intangible assets subject to amortization, we estimate amortization expense to be less than $0.01 million annually over the next five years. Our &#x201c;Other intangible assets&#x201d; is fully amortized as of June 30 2024.  &lt;/div&gt;
</us-gaap:IntangibleAssetsFiniteLivedPolicy>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="c20240101to20240630_FiniteLivedIntangibleAssetsByMajorClassAxis_IntellectualPropertyMember"
      id="Fact_5c96e6d9130a45d8b4adbf8a998b8cbf">P15Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="c20230101to20230630_RangeAxis_MaximumMember"
      decimals="-4"
      id="Fact_dcdd0da705e84708abc29a9797f67a12"
      unitRef="U002">10000.00</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="c20240101to20240630_RangeAxis_MaximumMember"
      decimals="-4"
      id="Fact_c1ac75d569aa4329974e7ea6d912cd6f"
      unitRef="U002">10000.00</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="c20240630_RangeAxis_MaximumMember"
      decimals="-4"
      id="Fact_f01d31de6c3c472587003e03ac6ed946"
      unitRef="U002">10000.00</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="c20240630_RangeAxis_MaximumMember"
      decimals="-4"
      id="Fact_76b7e82f23ff4a628c7a23920f987fd9"
      unitRef="U002">10000.00</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="c20240630_RangeAxis_MaximumMember"
      decimals="-4"
      id="Fact_70c6dc74d445442b861a65ae7cb153ae"
      unitRef="U002">10000.00</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="c20240630_RangeAxis_MaximumMember"
      decimals="-4"
      id="Fact_5a67995aad3646f4b20cfa0f8504462c"
      unitRef="U002">10000.00</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
      contextRef="c20240630_RangeAxis_MaximumMember"
      decimals="-4"
      id="Fact_15b2223a7cba4eeeaaef1b2e18101a51"
      unitRef="U002">10000.00</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock
      contextRef="c20240101to20240630"
      id="Text_1682801bb78b4ace8c5f2da74931a983">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="text-decoration: underline;"&gt;Comprehensive Income&lt;/span&gt;&lt;/span&gt;.&#160; Comprehensive income includes net income and certain other items that are recorded directly to
        stockholders&#x2019; equity.&#160; The Company&#x2019;s only source of other comprehensive income is foreign currency translation adjustments, and those adjustments are presented net of tax.&lt;/div&gt;
</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="c20240101to20240630"
      id="Text_2e00df2c18644e6d90213398e884832a">
&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2. NOTES PAYABLE AND LONG-TERM DEBT&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify;"&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;On
          January 3, 2023, the Company entered into a credit agreement (the &#x201c;Credit Agreement&#x201d;) with JPMorgan Chase Bank, N.A.&#160; Under the Credit Agreement, the bank will provide the Company a credit facility of up to $5,000,000 on standard terms and conditions, including affirmative and negative covenants set forth in the Credit Agreement.&#160; As security for the
          credit facility, the Company has pledged as collateral certain of its assets, including the Company&#x2019;s cash in deposit accounts, inventory and equipment.&#160; As of the date of this filing, no funds had been borrowed under this facility.&lt;/span&gt;  &lt;br/&gt;
      &lt;/div&gt;
</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20230103_LineOfCreditFacilityAxis_JPMorganChaseBankNAMember"
      decimals="0"
      id="Fact_58231609d6b042b79c4d00efb05dbec6"
      unitRef="U002">5000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="c20240101to20240630_LineOfCreditFacilityAxis_JPMorganChaseBankNAMember"
      decimals="0"
      id="Fact_c5f1e665eb224075be3360f2e8e98d15"
      unitRef="U002">0</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="c20240101to20240630"
      id="Text_4562bace87dd40deb127034024eac5af">
&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;3.&#160; INCOME TAX&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Our effective tax rate for the three months ended June 30, 2024 and 2023 was 32.9% and 32.9%, respectively.&#160; Our&lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; 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: justify; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt; effective
            tax rate for the six months ended June 30, 2023 and 2022 was 26.9% and 31.1%, respectively. Our&lt;/span&gt; effective tax rate differs from the federal statutory rate primarily due to U.S. state income tax expense, expenses that are nondeductible
          for tax purposes, the change in our valuation allowance associated with our deferred tax assets, and differences in tax rates in foreign jurisdictions.&lt;/div&gt;
</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="c20240401to20240630"
      decimals="3"
      id="Fact_1a5b9236baf848499c8a877a0bd57a63"
      unitRef="U006">0.329</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="c20230401to20230630"
      decimals="3"
      id="Fact_131983c397b94abfa82a89526bd89eb0"
      unitRef="U006">0.329</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="c20230101to20230630"
      decimals="3"
      id="Fact_ec1e60dd57204e1aa48ef3a6769042da"
      unitRef="U006">0.269</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="c20220101to20220630"
      decimals="3"
      id="Fact_65a5d07967914f4aacb42bd800fb1a36"
      unitRef="U006">0.311</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="c20240101to20240630"
      id="Text_355f7a53e79a42c4a2d022fa2be74c34">
&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;4.&#160; STOCK-BASED
          COMPENSATION&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The Tandy Leather Factory, Inc. 2013 Restricted Stock Plan (the &#x201c;2013 Plan&#x201d;) was adopted by our Board of Directors in January 2013 and approved by our stockholders
          in June 2013.&#160; The 2013 Plan initially reserved up to 300,000 shares for restricted stock and restricted stock unit (&#x201c;RSU&#x201d;) awards to
          our executive officers, non-employee directors and other key employees.&#160; In June 2020, our stockholders approved an increase to the plan reserve to 800,000
          shares of our common stock and extended the 2013 Plan to June 2023. Awards granted under the 2013 Plan may be service-based awards or performance-based awards, and may be subject to a graded vesting schedule with a minimum vesting period of four years, unless otherwise determined by the Compensation Committee of the Board of Directors that administers the plan. All shares remaining
          ungranted under the 2013 Plan were cancelled upon the adoption of the 2023 Plan described below.&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; 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;The Tandy Leather Factory, Inc. 2023 Incentive Stock Plan (the &#x201c;2023
            Plan&#x201d; and, together with the 2013 Plan, the &#x201c;Plans&#x201d;) was adopted by our Board of Directors in April 2023 and approved by our stockholders in June 2023. The 2023 Plan initially reserved up to 800,000 shares of our common stock for a variety of equity awards (including, but not limited to, RSUs, the only type of awards that have been granted to date) to our
            executive officers, non-employee directors and other key employees. &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;In June 2023, as part of their annual director compensation, certain of our non-employee directors were granted a total of 12,993 service-based RSUs under the 2023 Plan, which will vest ratably over the next four years,
              subject to each participant&#x2019;s continued service on the board as of each vesting date. &lt;/span&gt;&lt;/span&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;In October 2023, the Company granted to Ms. Carr a total of 276,000
            service-based RSUs under the 2023 Plan, which will vest ratably over the next three years, subject to Ms. Carr&#x2019;s continued
            employment as of each vesting date.&#160; In March 2024, the Company granted to certain employees other than Ms. Carr a total of 59,649
            RSUs under the 2023 Plan, which will vest ratably over the next three years, subject to the recipients&#x2019; continued employment as of
            each vesting date. In June 2024, the Company granted 14,000 shares to various members of the Board of Directors, which will vest
            ratably over the next four years.&lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;br/&gt;

        &lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;A summary of the activity for non-vested restricted stock and RSU awards as of June 30, 2024 is presented below: &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="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: rgb(0, 0, 0); font-weight: bold;"&gt;Shares&lt;/div&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;(in thousands)&lt;/div&gt;
                &lt;/td&gt;

    &lt;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: rgb(0, 0, 0); font-weight: bold;"&gt;Weighted&lt;/div&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;Average&lt;/div&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;Share 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 rowspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="text-align: left; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="text-align: left; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="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; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);"&gt;Balance, January 1, 2024&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: 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; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;623&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: 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; white-space: nowrap;" 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;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;5.12&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="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%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);"&gt;Granted&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;74&lt;/div&gt;
                &lt;/td&gt;

    &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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;0.85&lt;/div&gt;
                &lt;/td&gt;

    &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; white-space: nowrap;" valign="bottom"&gt;Forfeited &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" 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; white-space: nowrap;" 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; white-space: nowrap;" valign="bottom"&gt;(6&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; white-space: nowrap;" 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; white-space: nowrap;" 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; white-space: nowrap;" valign="bottom"&gt;5.00&lt;br/&gt;
                &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%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);"&gt;Vested&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" 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; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;23&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 style="color: rgb(0, 0, 0);"&gt;&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: 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; text-align: right; width: 9%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;4.73&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; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-weight: bold;"&gt;Balance, &lt;span style="text-indent: 0pt;"&gt;June 30&lt;/span&gt;, &lt;span style="text-indent: 0pt;"&gt;2024&lt;/span&gt;&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" 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; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;714&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; white-space: nowrap;" valign="bottom"&gt;&#160;&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 style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;4.38&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 style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The Company&#x2019;s stock-based compensation relates primarily to RSU awards.&#160; &lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; 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: justify; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;For these service-based
              awards, our stock-based compensation expense, included in operating expenses, was $0.2 million and $0.2 million for the three months and $0.4
              million and $0.4 million for the six months ended June 30, 2024 and 2023, respectively.&lt;/span&gt;&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;As of June 30, 2024, the Company has concluded it is not probable that the performance conditions related to performance-based RSUs granted to our CEO in October
            2018 will be achieved, and as a result no compensation expense related to performance-based RSUs has been recorded.&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;As of June 30, 2024, there was unrecognized compensation cost related to non-vested, service-based RSU awards of $1.4 million, which will be recognized in each of the following years (dollars in thousands):&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-style: normal; font-weight: bold; text-align: center;"&gt;Unrecognized Expense&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="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; text-align: left; width: 88%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); text-align: center;"&gt;2024&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;324&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="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; text-align: left; width: 88%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); text-align: center;"&gt;2025&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;564&lt;/div&gt;
                &lt;/td&gt;

    &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; text-align: left; width: 88%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); text-align: center;"&gt;2026&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: 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; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;419&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="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; text-align: left; width: 88%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); text-align: center;"&gt;2027&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;37&lt;/div&gt;
                &lt;/td&gt;

    &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; text-align: center; width: 88%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;2028&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;6&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; text-align: left; width: 88%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&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); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;1,350&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="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We issue shares from authorized shares upon the lapsing of vesting restrictions on restricted stock and RSUs.&#160; For the six months ended June 30, 2024 and 2023, we
            issued 23,301 and 39,199
            shares, respectively, resulting from the vesting of RSUs. We do not use cash to settle equity instruments issued under stock-based compensation awards. The payment of the employees&#x2019; tax liability for a portion of the vested shares may be
            satisfied by withholding shares with a fair value equal to the tax liability.&lt;br/&gt;
          &lt;/div&gt;
</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="c20130131_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember_RangeAxis_MaximumMember"
      decimals="0"
      id="Fact_b79530392a1c4ec09082a41122df70cc"
      unitRef="U001">300000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="c20200630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndThirteenRestrictedStockPlanMember"
      decimals="0"
      id="Fact_7c1023aa796b4630894aaabf81177472"
      unitRef="U001">800000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="c20240101to20240630_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_RangeAxis_MinimumMember"
      id="Fact_d20aae6a37604806b0f01c38d2fae920">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="c20230430_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_RangeAxis_MaximumMember"
      decimals="0"
      id="Fact_f589ed042cd6469aaaf8b7a929841474"
      unitRef="U001">800000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c20230601to20230630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_NonEmployeeDirectorMember"
      decimals="0"
      id="Fact_721359d578a741619e13a1d0fa5c0abb"
      unitRef="U001">12993</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="c20240101to20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_NonEmployeeDirectorMember"
      id="Fact_261eff8059714299a7d41dd830438c82">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c20231001to20231031_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember"
      decimals="0"
      id="Fact_9beb2877f2954544bcbb1f83f82e8f35"
      unitRef="U001">276000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="c20240101to20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ChiefExecutiveOfficerMember"
      id="Fact_4221583b9e874a3f8af7db5e1d8479f3">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c20240301to20240331_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember"
      decimals="0"
      id="Fact_4f830db49c324c51bd270f161a33e2e0"
      unitRef="U001">59649</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember"
      id="Fact_0bad3c0054e247759d8040228a77396d">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c20240601to20240630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember"
      decimals="0"
      id="Fact_6cab77635f1044b582d15e22608bf8f1"
      unitRef="U001">14000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_TwoThousandAndTwentyThreeRestrictedStockPlanMember_TitleOfIndividualAxis_DirectorMember"
      id="Fact_f6107dff49ea4924a0bdce677f50b20d">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock
      contextRef="c20240101to20240630"
      id="Text_1b874e2d00e24dae9d8ba68878f7cb6b">
&lt;div&gt;&lt;br/&gt;

        &lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;A summary of the activity for non-vested restricted stock and RSU awards as of June 30, 2024 is presented below: &lt;/span&gt;&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="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: rgb(0, 0, 0); font-weight: bold;"&gt;Shares&lt;/div&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;(in thousands)&lt;/div&gt;
                &lt;/td&gt;

    &lt;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: rgb(0, 0, 0); font-weight: bold;"&gt;Weighted&lt;/div&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;Average&lt;/div&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;Share 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 rowspan="1" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="text-align: left; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="text-align: left; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="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; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);"&gt;Balance, January 1, 2024&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: 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; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;623&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: 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; white-space: nowrap;" 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;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;5.12&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="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%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);"&gt;Granted&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;74&lt;/div&gt;
                &lt;/td&gt;

    &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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;0.85&lt;/div&gt;
                &lt;/td&gt;

    &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; white-space: nowrap;" valign="bottom"&gt;Forfeited &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" 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; white-space: nowrap;" 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; white-space: nowrap;" valign="bottom"&gt;(6&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; white-space: nowrap;" 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; white-space: nowrap;" 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; white-space: nowrap;" valign="bottom"&gt;5.00&lt;br/&gt;
                &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%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0);"&gt;Vested&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" 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; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;23&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 style="color: rgb(0, 0, 0);"&gt;&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: 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; text-align: right; width: 9%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;4.73&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; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-weight: bold;"&gt;Balance, &lt;span style="text-indent: 0pt;"&gt;June 30&lt;/span&gt;, &lt;span style="text-indent: 0pt;"&gt;2024&lt;/span&gt;&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" 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; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;714&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; white-space: nowrap;" valign="bottom"&gt;&#160;&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 style="color: rgb(0, 0, 0); font-weight: bold;"&gt;$&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;4.38&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:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="-3"
      id="Fact_61fbac2c34ef4bae80b97412505da9d5"
      unitRef="U001">623000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20231231_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="2"
      id="Fact_9246d0fd24754457a0e87fc9f85ccdf3"
      unitRef="U003">5.12</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="-3"
      id="Fact_f870430eb53e487cad2292090129a0f7"
      unitRef="U001">74000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="2"
      id="Fact_74955e72d410407494e5546a458f1c53"
      unitRef="U003">0.85</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="-3"
      id="Fact_7368c5f1030e43e49671fe056bf0aa00"
      unitRef="U001">6000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="2"
      id="Fact_aee51bdd187549fda27d4312b0e9b276"
      unitRef="U003">5</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="-3"
      id="Fact_a701aea83f1247de8dbd831eda762603"
      unitRef="U001">23000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="2"
      id="Fact_5ebd4d6b1ea54989b155597b854d8e06"
      unitRef="U003">4.73</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c20240630_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="-3"
      id="Fact_96926bc693c142b4b8cb820c2811d6a6"
      unitRef="U001">714000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20240630_AwardTypeAxis_RestrictedStockAndRestrictedStockUnitsMember"
      decimals="2"
      id="Fact_1ad13a79c0d94a079515e553c7bd5668"
      unitRef="U003">4.38</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20240401to20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"
      decimals="-5"
      id="Fact_0046d9daff6a4f61a100def092c2eade"
      unitRef="U002">200000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20230401to20230630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"
      decimals="-5"
      id="Fact_dfb556f2a4f044c68899da1e9ffcdc03"
      unitRef="U002">200000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20240101to20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"
      decimals="-5"
      id="Fact_204ae389efba448780bb74ad6dc9194d"
      unitRef="U002">400000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20230101to20230630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"
      decimals="-5"
      id="Fact_74da27209228484ca56c4705e05db6e7"
      unitRef="U002">400000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20240101to20240630_AwardTypeAxis_PerformanceBasedRestrictedStockUnitsRSUsMember"
      decimals="-6"
      id="Fact_1ad2a2f35bb94e2bb995cf59ebe3c082"
      unitRef="U002">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock
      contextRef="c20240101to20240630"
      id="Text_b39d00721926460fb096054641622688">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;As of June 30, 2024, there was unrecognized compensation cost related to non-vested, service-based RSU awards of $1.4 million, which will be recognized in each of the following years (dollars in thousands):&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-style: normal; font-weight: bold; text-align: center;"&gt;Unrecognized Expense&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="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; text-align: left; width: 88%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); text-align: center;"&gt;2024&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;324&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="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; text-align: left; width: 88%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); text-align: center;"&gt;2025&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;564&lt;/div&gt;
                &lt;/td&gt;

    &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; text-align: left; width: 88%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); text-align: center;"&gt;2026&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: 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; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;419&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="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; text-align: left; width: 88%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); text-align: center;"&gt;2027&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;37&lt;/div&gt;
                &lt;/td&gt;

    &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; text-align: center; width: 88%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;2028&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;6&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; text-align: left; width: 88%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&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); white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold;"&gt;1,350&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:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="c20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"
      decimals="-5"
      id="Fact_56228c3c51f34dd0a6904f2b72837f67"
      unitRef="U002">1400000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <tlfa:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear
      contextRef="c20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"
      decimals="-3"
      id="Fact_1883359742824974b84896f1ca7694d2"
      unitRef="U002">324000</tlfa:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedRemainderOfFiscalYear>
    <tlfa:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths
      contextRef="c20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"
      decimals="-3"
      id="Fact_c1cf12bccd684502b8a36f214e188142"
      unitRef="U002">564000</tlfa:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedDueInNextTwelveMonths>
    <tlfa:EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears
      contextRef="c20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"
      decimals="-3"
      id="Fact_2a98c1776e3343cbade94c0e8e9649fa"
      unitRef="U002">419000</tlfa:EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInTwoYears>
    <tlfa:EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears
      contextRef="c20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"
      decimals="-3"
      id="Fact_9e009ec0d1054a4695dead9581f76f5b"
      unitRef="U002">37000</tlfa:EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInThreeYears>
    <tlfa:EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears
      contextRef="c20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"
      decimals="-3"
      id="Fact_c522c976544b4e73825c9b2bfc26e07c"
      unitRef="U002">6000</tlfa:EmployeeServiceShareBasedCompensationNonVestedAwardsCompensationCostNotYetRecognizedDueInFourYears>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="c20240630_AwardTypeAxis_ServicedBasedRestrictedStockUnitsRSUsMember"
      decimals="-3"
      id="Fact_8b923900eca74cf1a7b84f3f60762f4c"
      unitRef="U002">1350000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockUnitsRSUMember"
      decimals="0"
      id="Fact_45cab5533c864c9ba77f632d0e756bca"
      unitRef="U001">23301</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="c20230101to20230630_AwardTypeAxis_RestrictedStockUnitsRSUMember"
      decimals="0"
      id="Fact_534fe63076554c2ca50376521964d971"
      unitRef="U001">39199</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="c20240101to20240630"
      id="Text_acfbf907dc9a4365a3b92acc6b020154">
&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;5.&#160; EARNINGS PER SHARE&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Basic earnings per share (&#x201c;EPS&#x201d;) are computed based on the weighted average number of common shares outstanding during the period.&#160; Diluted EPS includes additional
          common shares that would have been outstanding if potential common shares with a dilutive effect, such as stock awards from the Company&#x2019;s restricted stock plan, had been issued.&#160; Anti-dilutive securities represent potentially dilutive securities
          which are excluded from the computation of diluted EPS as their impact would be anti-dilutive.&#160; Diluted EPS is computed using the treasury stock method.&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The following table sets forth the computation of basic and diluted EPS for the three and six months ended June 30, 2024 and 2023:&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&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="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;Three Months Ended 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" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" rowspan="1" style="vertical-align: bottom; text-align: center; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;span style="font-weight: bold;"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="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 colspan="1" rowspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands, except share data)&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;"&gt;2024&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;"&gt;2023&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;"&gt;2024&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;"&gt;2023&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="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 rowspan="1" style="vertical-align: bottom; font-weight: bold;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="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 rowspan="1" style="vertical-align: bottom; font-weight: bold;" valign="bottom"&gt;Numerator:&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="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%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
                  &lt;div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);"&gt;Net income &lt;br/&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: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&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); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;101&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); border-bottom: 2px solid rgb(0, 0, 0); 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: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" 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;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&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); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;531&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: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&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); background-color: rgb(204, 238, 255);" valign="bottom"&gt;626&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); 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: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" 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); white-space: nowrap;" valign="bottom"&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); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;1,195&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%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" 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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" 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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" 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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" 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 style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-weight: bold;"&gt;Denominator:&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: 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; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" 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; white-space: nowrap;" 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; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" 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; white-space: nowrap;" 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; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" 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; white-space: nowrap;" 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; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" 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="color: rgb(0, 0, 0); text-indent: -9pt; margin-left: 9pt;"&gt;Basic weighted-average common shares outstanding&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;8,415,795&lt;/div&gt;
                &lt;/td&gt;

    &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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;8,327,178&lt;/div&gt;
                &lt;/td&gt;

    &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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;8,406,156&lt;/td&gt;

    &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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;8,315,214&lt;/td&gt;

    &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: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
                  &lt;div style="text-indent: -9pt; margin-left: 9pt;"&gt;Dilutive effect of service-based restricted stock awards granted to Board of Directors under the Plan&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" 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; white-space: nowrap;" 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; white-space: nowrap;" valign="bottom"&gt;8,330&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;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" 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; white-space: nowrap;" 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; white-space: nowrap;" valign="bottom"&gt;7,156&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;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" 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; white-space: nowrap;" 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; white-space: nowrap;" valign="bottom"&gt;596&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;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" 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; white-space: nowrap;" 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; white-space: nowrap;" valign="bottom"&gt;367&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 rowspan="1" style="vertical-align: bottom; width: 52%; padding-bottom: 2px;" valign="bottom"&gt;
                  &lt;div style="text-indent: -9pt; margin-left: 9pt;"&gt;Dilutive effect of service-based restricted stock awards granted to employees under the Plan&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;80,943&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;32,570&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;60,404&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;14,388&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="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: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); text-indent: -9pt; margin-left: 9pt;"&gt;Diluted weighted-average common shares outstanding&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" 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; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;8,505,068&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; white-space: nowrap;" 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; white-space: nowrap;" 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; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;8,366,904&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; white-space: nowrap;" 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; white-space: nowrap;" 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; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;8,467,156&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; white-space: nowrap;" 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; white-space: nowrap;" 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; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;8,329,969&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 rowspan="1" style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;&#160;&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="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;&#160;&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="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;&#160;&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="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;&#160;&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 rowspan="1" style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
                  &lt;div style="text-indent: -9pt; margin-left: 9pt;"&gt;Basic earnings per share &lt;br/&gt;
                  &lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; 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" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;0.01&lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; 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" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;0.06&lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; 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" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;0.07&lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; 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" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;0.14&lt;/td&gt;

    &lt;td colspan="1" rowspan="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 rowspan="1" style="vertical-align: bottom; width: 52%; padding-bottom: 4px;" valign="bottom"&gt;
                  &lt;div style="margin-left: 9pt; text-indent: -9pt;"&gt;Diluted earnings per share &lt;br/&gt;
                  &lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;0.01&lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;0.06&lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;0.07&lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;0.14&lt;/td&gt;

    &lt;td colspan="1" rowspan="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:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="c20240101to20240630"
      id="Text_49450c94620048419b8596d1c8970280">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The following table sets forth the computation of basic and diluted EPS for the three and six months ended June 30, 2024 and 2023:&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
          &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt; text-align: left; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&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="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;"&gt;Three Months Ended 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" rowspan="1" style="text-align: center; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" rowspan="1" style="vertical-align: bottom; text-align: center; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&lt;span style="font-weight: bold;"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="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 colspan="1" rowspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-style: italic;"&gt;(in thousands, except share data)&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;"&gt;2024&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;"&gt;2023&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;"&gt;2024&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); font-weight: bold; text-align: center;"&gt;2023&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="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 rowspan="1" style="vertical-align: bottom; font-weight: bold;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="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 rowspan="1" style="vertical-align: bottom; font-weight: bold;" valign="bottom"&gt;Numerator:&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" rowspan="1" style="vertical-align: bottom; text-align: right; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="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%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
                  &lt;div style="text-indent: -7.2pt; margin-left: 16.2pt; color: rgb(0, 0, 0);"&gt;Net income &lt;br/&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: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&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); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;101&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); border-bottom: 2px solid rgb(0, 0, 0); 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: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" 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;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;$&lt;/div&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); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;531&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: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&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); background-color: rgb(204, 238, 255);" valign="bottom"&gt;626&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); 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: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" 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); white-space: nowrap;" valign="bottom"&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); background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;1,195&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%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" 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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" 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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" 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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" 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 style="text-indent: -7.2pt; margin-left: 7.2pt; color: rgb(0, 0, 0); font-weight: bold;"&gt;Denominator:&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: 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; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" 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; white-space: nowrap;" 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; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" 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; white-space: nowrap;" 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; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" 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; white-space: nowrap;" 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; text-align: right; width: 9%; background-color: #CCEEFF; white-space: nowrap;" 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="color: rgb(0, 0, 0); text-indent: -9pt; margin-left: 9pt;"&gt;Basic weighted-average common shares outstanding&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;8,415,795&lt;/div&gt;
                &lt;/td&gt;

    &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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;8,327,178&lt;/div&gt;
                &lt;/td&gt;

    &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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;8,406,156&lt;/td&gt;

    &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%; white-space: nowrap;" 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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;8,315,214&lt;/td&gt;

    &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: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
                  &lt;div style="text-indent: -9pt; margin-left: 9pt;"&gt;Dilutive effect of service-based restricted stock awards granted to Board of Directors under the Plan&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" 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; white-space: nowrap;" 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; white-space: nowrap;" valign="bottom"&gt;8,330&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;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" 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; white-space: nowrap;" 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; white-space: nowrap;" valign="bottom"&gt;7,156&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;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" 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; white-space: nowrap;" 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; white-space: nowrap;" valign="bottom"&gt;596&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;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" 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; white-space: nowrap;" 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; white-space: nowrap;" valign="bottom"&gt;367&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 rowspan="1" style="vertical-align: bottom; width: 52%; padding-bottom: 2px;" valign="bottom"&gt;
                  &lt;div style="text-indent: -9pt; margin-left: 9pt;"&gt;Dilutive effect of service-based restricted stock awards granted to employees under the Plan&lt;br/&gt;
                  &lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;80,943&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;32,570&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;60,404&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;14,388&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="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: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0); text-indent: -9pt; margin-left: 9pt;"&gt;Diluted weighted-average common shares outstanding&lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; 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: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" 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; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;8,505,068&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; white-space: nowrap;" 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; white-space: nowrap;" 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; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
                  &lt;div style="color: rgb(0, 0, 0);"&gt;8,366,904&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; white-space: nowrap;" 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; white-space: nowrap;" 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; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;8,467,156&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; white-space: nowrap;" 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; white-space: nowrap;" 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; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;8,329,969&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 rowspan="1" style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;&#160;&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="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;&#160;&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="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;&#160;&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="text-align: right; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&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; text-align: right; width: 9%; white-space: nowrap;" valign="bottom"&gt;&#160;&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 rowspan="1" style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
                  &lt;div style="text-indent: -9pt; margin-left: 9pt;"&gt;Basic earnings per share &lt;br/&gt;
                  &lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; 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" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;0.01&lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; 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" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;0.06&lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; 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" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;0.07&lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; 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" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;0.14&lt;/td&gt;

    &lt;td colspan="1" rowspan="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 rowspan="1" style="vertical-align: bottom; width: 52%; padding-bottom: 4px;" valign="bottom"&gt;
                  &lt;div style="margin-left: 9pt; text-indent: -9pt;"&gt;Diluted earnings per share &lt;br/&gt;
                  &lt;/div&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;0.01&lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;&lt;br/&gt;
                &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;0.06&lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;0.07&lt;/td&gt;

    &lt;td colspan="1" rowspan="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" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; white-space: nowrap;" valign="bottom"&gt;0.14&lt;/td&gt;

    &lt;td colspan="1" rowspan="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:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="c20240401to20240630"
      decimals="-3"
      id="Fact_2dd28459adaa48159c205089365ca000"
      unitRef="U002">101000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_c0c7466a85844cbf9d95aa924230838b"
      unitRef="U002">531000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20240101to20240630"
      decimals="-3"
      id="Fact_6d06b85bad554d138b667ba02701306f"
      unitRef="U002">626000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20230630"
      decimals="-3"
      id="Fact_270312c9a365462b84a3fb887e2a25e1"
      unitRef="U002">1195000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20240401to20240630"
      decimals="0"
      id="Fact_b232cce3e115447f991ae418d36cc650"
      unitRef="U001">8415795</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20230401to20230630"
      decimals="0"
      id="Fact_7821d5c1728f45b99c9c020ed91eb6ee"
      unitRef="U001">8327178</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20240101to20240630"
      decimals="0"
      id="Fact_63da047c52db4638a3da0ad6f8397017"
      unitRef="U001">8406156</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20230101to20230630"
      decimals="0"
      id="Fact_8f142d0f73084a2590ea43c49cde1be0"
      unitRef="U001">8315214</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c20240401to20240630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember"
      decimals="0"
      id="Fact_0f469abcef044db6950becb1c7bcd73a"
      unitRef="U001">8330</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c20230401to20230630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember"
      decimals="0"
      id="Fact_45f49d56b01d40eb982139a22937b33b"
      unitRef="U001">7156</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember"
      decimals="0"
      id="Fact_fe49efd1f6b24f2da90ae222dc548c1c"
      unitRef="U001">596</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c20230101to20230630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_DirectorMember"
      decimals="0"
      id="Fact_028a77ddc1b34e77a0fe04dcfdfc705e"
      unitRef="U001">367</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c20240401to20240630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember"
      decimals="0"
      id="Fact_c55e58c3c4cb4c8bad5ca1cb8815b737"
      unitRef="U001">80943</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c20230401to20230630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember"
      decimals="0"
      id="Fact_1a790c52bc3240ba9305dc25a6837a82"
      unitRef="U001">32570</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c20240101to20240630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember"
      decimals="0"
      id="Fact_4f8840f208694a04abc80aa602fcee6c"
      unitRef="U001">60404</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c20230101to20230630_AwardTypeAxis_RestrictedStockMember_TitleOfIndividualAxis_ShareBasedPaymentArrangementEmployeeMember"
      decimals="0"
      id="Fact_127d700c04da4ead93439e1e3952c305"
      unitRef="U001">14388</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20240401to20240630"
      decimals="0"
      id="Fact_ab537f4f4c404b7a80322e26308cf24c"
      unitRef="U001">8505068</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20230401to20230630"
      decimals="0"
      id="Fact_6dd2c6615679479582e284af272e6ce0"
      unitRef="U001">8366904</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20240101to20240630"
      decimals="0"
      id="Fact_36478830540a4ec8ba88bb50122aad5e"
      unitRef="U001">8467156</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20230101to20230630"
      decimals="0"
      id="Fact_37cb9239564b4311b4d2809f2ba5a301"
      unitRef="U001">8329969</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20240401to20240630"
      decimals="2"
      id="Fact_d7f704a40f4a4a80ba75b9f4df49676e"
      unitRef="U003">0.01</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20230401to20230630"
      decimals="2"
      id="Fact_b7ac8eaee1964a468bdf06b8328cc976"
      unitRef="U003">0.06</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20240101to20240630"
      decimals="2"
      id="Fact_545579b32fa94a7caf32c43432cde56e"
      unitRef="U003">0.07</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20230101to20230630"
      decimals="2"
      id="Fact_f465fb62915345908c0b0a0b60f64979"
      unitRef="U003">0.14</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20240401to20240630"
      decimals="2"
      id="Fact_b71f5db6a91346ddab4b8d5159b83dd8"
      unitRef="U003">0.01</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20230401to20230630"
      decimals="2"
      id="Fact_af7421995fba4f3d89bd1523fea3249e"
      unitRef="U003">0.06</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20240101to20240630"
      decimals="2"
      id="Fact_d3bf46e184234b698abc3640101369d0"
      unitRef="U003">0.07</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20230101to20230630"
      decimals="2"
      id="Fact_48b96a0b23b845228ab2316f56c997d4"
      unitRef="U003">0.14</us-gaap:EarningsPerShareDiluted>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="c20240101to20240630"
      id="Text_7489146fd61c4f6eaee00c250001f24a">
&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;6.&#160; COMMITMENTS AND CONTINGENCIES&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Legal Proceedings&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We are periodically involved in litigation that arises in the ordinary course of business and operations.&#160; There are no such matters pending that we expect to have a
          material impact on our financial position or operating results.&#160; Legal costs associated with the resolution of claims, lawsuits and other contingencies are expensed as incurred.&lt;/div&gt;
</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <tlfa:ShareRepurchaseProgramAndShareRepurchasesTextBlock
      contextRef="c20240101to20240630"
      id="Text_a41e88e2bd524f47863e75928f9c401f">
&lt;div style="text-align: justify; font-weight: bold; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7.&#160; SHARE REPURCHASE PROGRAM AND SHARE REPURCHASES&lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;On August 8, 2022, the Board of Directors approved a new program to repurchase up to $5.0 million of the Company&#x2019;s common stock between that date and August 31, 2024.&#160; As of June 30, 2024, $5.0 million remained available for repurchase under this new program.&lt;/div&gt;
</tlfa:ShareRepurchaseProgramAndShareRepurchasesTextBlock>
    <srt:StockRepurchaseProgramAuthorizedAmount1
      contextRef="c20220808_RangeAxis_MaximumMember"
      decimals="-5"
      id="Fact_43f244beae764cfc9f8ddc29002377f4"
      unitRef="U002">5000000</srt:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
      contextRef="c20240630"
      decimals="-5"
      id="Fact_97819d24016b4e78b7bcb84f4a3292fc"
      unitRef="U002">5000000</us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
